046883b9d3
Thanks to valgrind and his --track-origins=yes option,
the problem and solution was suggested as shown below.
[ and it was created in that commit referenced below ]
But, after attacking this problem by adding a memset()
call in pids.c, a 2nd valgrind oops, also shown below,
was encountered. The dynamically acquired 'cmd' again!
[ might help to explain why changes appear excessive ]
Reference(s):
. 1st valgrind discovery
==11111== Conditional jump or move depends on uninitialised value(s)
==11111== at 0x13425D: stat2proc (readproc.c:582)
==11111== by 0x137436: look_up_our_self (readproc.c:1613)
==11111== by 0x132196: fatal_proc_unmounted (pids.c:1388)
==11111== by 0x11BA4D: before (top.c:3580)
==11111== by 0x127E10: main (top.c:7173)
==11111== Uninitialised value was created by a stack allocation
==11111== at 0x132165: fatal_proc_unmounted (pids.c:1381)
. Jul, 2022 - fatal_proc_unmounted refactored
commit
|
||
---|---|---|
.. | ||
include | ||
tests | ||
.gitignore | ||
COPYING | ||
devname.c | ||
diskstats.c | ||
escape.c | ||
libproc2.pc.in | ||
libproc2.sym | ||
meminfo.c | ||
namespace.c | ||
numa.c | ||
pids.c | ||
pwcache.c | ||
readproc.c | ||
slabinfo.c | ||
stat.c | ||
sysinfo.c | ||
uptime.c | ||
version.c | ||
vmstat.c | ||
wchan.c |