From 1d212457f223dd7bde32b981244278d78952b0dd Mon Sep 17 00:00:00 2001 From: Adam Sampson Date: Wed, 30 Apr 2014 14:20:21 +0100 Subject: [PATCH] pmap: avoid depending on an uninitialised value. It's possible for the first entry that this reads from /proc/*/smaps to start with a map_desc-less line like this: 7fa71b77d000-7fa71c288000 rw-p 00000000 00:00 0 in which case sscanf will only read up to inode, and it won't set c; the code below would then incorrectly discard the next ("Size:") line. (With GCC 4.9.0, this bug causes the "pmap extra extended output" test to fail for me.) --- pmap.c | 1 + 1 file changed, 1 insertion(+) diff --git a/pmap.c b/pmap.c index 7777a196..c83617cd 100644 --- a/pmap.c +++ b/pmap.c @@ -314,6 +314,7 @@ static void print_extended_maps (FILE *f) while (ret != NULL) { /* === READ MAPPING === */ map_desc[0] = '\0'; + c = '\n'; nfields = sscanf(mapbuf, "%"NUML"[0-9a-f]-%"NUML"[0-9a-f] " "%"DETL"s %"NUML"[0-9a-f] "