From 885d734b203d44b6e5537cd1d1dd1ff117efba8c Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Tue, 2 Jul 2013 10:47:35 +0800 Subject: [PATCH] config/powerpc-nvram: Fix nvram line parsing We have a couple of issues with the nvram output parser; lines aren't being broken up correctly. Signed-off-by: Jeremy Kerr --- lib/pb-config/storage-powerpc-nvram.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/pb-config/storage-powerpc-nvram.c b/lib/pb-config/storage-powerpc-nvram.c index 96d279c..4b16479 100644 --- a/lib/pb-config/storage-powerpc-nvram.c +++ b/lib/pb-config/storage-powerpc-nvram.c @@ -78,9 +78,16 @@ static int parse_nvram_params(struct powerpc_nvram_storage *nv, return -1; } - for (pos = buf + i; pos < buf + len; pos += paramlen) { + for (pos = buf + i; pos < buf + len; pos += paramlen + 1) { unsigned int namelen; struct param *param; + char *newline; + + newline = strchr(pos, '\n'); + if (!newline) + break; + + *newline = '\0'; paramlen = strlen(pos); @@ -89,7 +96,9 @@ static int parse_nvram_params(struct powerpc_nvram_storage *nv, if (!value) continue; - namelen = name - value; + namelen = value - name; + if (namelen == 0) + continue; if (!param_is_known(name, namelen)) continue; -- 2.39.2