[PATCH] 2.4.20: lib/vsprintf.c: Fix vsscanf of hex digits

Kevin Corry (corryk@us.ibm.com)
Wed, 5 Mar 2003 09:31:23 -0600


Hi,

The current vsscanf() in 2.4 does not correctly scan hex digits that begin
with a-f. (It does work correctly for hex digits that begin with 0-9). This
patch fixes that bug, and is based on the fix that was added to 2.5.

-- 
Kevin Corry
corryk@us.ibm.com
http://evms.sourceforge.net/

--- linux-2.4.20a/lib/vsprintf.c Tue Jan 21 11:12:02 2003 +++ linux-2.4.20b/lib/vsprintf.c Tue Jan 21 11:11:49 2003 @@ -637,7 +637,11 @@ while (isspace(*str)) str++; - if (!*str || !isdigit(*str)) + if (!*str + || (base == 16 && !isxdigit(*str)) + || (base == 10 && !isdigit(*str)) + || (base == 8 && (!isdigit(*str) || *str > '7')) + || (base == 0 && !isdigit(*str))) break; switch(qualifier) { - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/