[lkml]   [2001]   [Dec]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject(v)sscanf handles %i improperly (+patch)
I found (v)sscanf included in last kernels handles %i format improperly. 
Currently, up to 2.4.17, %i is handled identical to %d. However,
accordingly to man for sscanf,

i Matches an optionally signed integer; the next
pointer must be a pointer to int. The integer is
read in base 16 if it begins with `0x' or `0X', in
base 8 if it begins with `0', and in base 10 other­
wise. Only characters that correspond to the base
are used.

Please, when replying, CC me:

Patch is quite small (against 2.4.17):

--- vsprintf.c.orig Thu Oct 11 20:17:22 2001
+++ vsprintf.c Tue Dec 25 23:29:31 2001
@@ -616,8 +616,9 @@
case 'X':
base = 16;
- case 'd':
case 'i':
+ base = 0; /* autodetect */
+ case 'd':
is_sign = 1;
case 'u':

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:14    [W:0.051 / U:0.156 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site