Skip to contentSkip to conversation

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

PATCH New Kevin Corry 1 participant 1 message Jan 31, 2003

lore
Share & tools
lore
#0 lore raw

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

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.

Signature · 20 lines
Kevin Corry
[email protected]
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) {