From: Jeremy Kerr Date: Tue, 2 Jul 2013 02:47:35 +0000 (+0800) Subject: config/powerpc-nvram: Fix nvram line parsing X-Git-Tag: v1.0.0~558 X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=commitdiff_plain;h=885d734b203d44b6e5537cd1d1dd1ff117efba8c 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 --- 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;