From a99e3765bec0d6cf29d640ecd0165b098895bf94 Mon Sep 17 00:00:00 2001 From: andersen Date: Tue, 6 Apr 2004 12:06:03 +0000 Subject: Michael Tokarev, mjt at tls dot msk dot ru writes: Fix parsing of all tag-value pairs (in modules.conf in particular). Without this fix, code chokes badly on lines where either value or both tag+value are missing, like bare alias line, or alias w/o the value like alias some-module (syntactically incorrect, but no need for coredumps either). git-svn-id: svn://busybox.net/trunk/busybox@8700 69ca8d6d-28ef-0310-b511-8ec308f3f277 --- modutils/modprobe.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'modutils/modprobe.c') diff --git a/modutils/modprobe.c b/modutils/modprobe.c index 7078af220..df5d4bbd1 100644 --- a/modutils/modprobe.c +++ b/modutils/modprobe.c @@ -67,15 +67,17 @@ int parse_tag_value ( char *buffer, char **ptag, char **pvalue ) buffer++; tag = value = buffer; while ( !isspace ( *value )) - value++; + if (!*value) return 0; + else value++; *value++ = 0; while ( isspace ( *value )) value++; + if (!*value) return 0; *ptag = tag; *pvalue = value; - return bb_strlen( tag ) && bb_strlen( value ); + return 1; } /* Jump through hoops to simulate how fgets() grabs just one line at a -- cgit v1.2.3-55-g6feb