From: Adam Sampson Date: Wed, 30 Apr 2014 13:20:21 +0000 (+0100) Subject: pmap: avoid depending on an uninitialised value. X-Git-Tag: v3.3.10~25 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1d212457f223dd7bde32b981244278d78952b0dd;p=procps-ng 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.) --- 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] "