check-qdict: Fix possible crash
authorStefan Weil <weil@mail.berlios.de>
Fri, 21 Jan 2011 21:50:30 +0000 (22:50 +0100)
committerAurelien Jarno <aurelien@aurel32.net>
Sun, 20 Feb 2011 17:45:09 +0000 (18:45 +0100)
This warning is reported by cppcheck:

check-qdict.c:270: warning: scanf without field width limits can crash with huge input data

Fix it by limiting the field widths to 127 (both key and value take
127 characters + a terminating '\0' byte).

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
check-qdict.c

index 6afce5a5ca2fa6111939b91fa82242c0539e6dc5..ecc7fd7b902b83e8cc753c2372646de4a432a7cc 100644 (file)
@@ -267,8 +267,9 @@ static QString *read_line(FILE *file, char *key)
 {
     char value[128];
 
-    if (fscanf(file, "%s%s", key, value) == EOF)
+    if (fscanf(file, "%127s%127s", key, value) == EOF) {
         return NULL;
+    }
     remove_dots(key);
     return qstring_from_str(value);
 }