21 lines
706 B
Diff
21 lines
706 B
Diff
Description: zeros out reused structures to stop double free problems
|
|
Bug-Debian: http://bugs.debian.org/550009
|
|
Author: Arnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
|
|
--- a/proc/readproc.c
|
|
+++ b/proc/readproc.c
|
|
@@ -828,6 +828,7 @@
|
|
|
|
saved_p = p;
|
|
if(!p) p = xcalloc(p, sizeof *p); /* passed buf or alloced mem */
|
|
+ else memset(p, 0, sizeof *p);
|
|
|
|
for(;;){
|
|
// fills in the path, plus p->tid and p->tgid
|
|
@@ -856,6 +857,7 @@
|
|
|
|
saved_t = t;
|
|
if(!t) t = xcalloc(t, sizeof *t); /* passed buf or alloced mem */
|
|
+ else memset(t, 0, sizeof *t);
|
|
|
|
// 1. got to fake a thread for old kernels
|
|
// 2. for single-threaded processes, this is faster (but must patch up stuff that differs!)
|