summaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
authorBill Nottingham <notting@redhat.com>2005-03-31 21:39:44 +0000
committerBill Nottingham <notting@redhat.com>2005-03-31 21:39:44 +0000
commit79c68ff64cd50f71322e748b136a51073d5b3a03 (patch)
tree743d4815d952527527bd69a416105ce0d6d0169c /src/process.c
parent3e95620ace47c8f1f732d3efc963b8dc5a92f4e6 (diff)
free some of the more egregious memory leaks (#85935)
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/process.c b/src/process.c
index c17680bf..0eec34ac 100644
--- a/src/process.c
+++ b/src/process.c
@@ -188,7 +188,8 @@ int monitor(char *cmdname, int pid, int numfds, int *fds, int reexec, int quiet,
int bytesread = 0;
do {
- char *buf=calloc(8192,sizeof(char));
+ char *b, *buf=calloc(8192,sizeof(char));
+ b = buf;
bytesread = read(pfds[y].fd,buf,8192);
if (bytesread==-1) {
perror("read");
@@ -251,11 +252,16 @@ int monitor(char *cmdname, int pid, int numfds, int *fds, int reexec, int quiet,
}
cmdargs[cmdargc+1]=NULL;
processArgs(cmdargc+1,cmdargs,1);
+ for (z=0;z<(cmdargc);z++) {
+ free(cmdargs[z]);
+ }
+ free(cmdargs);
}
}
+ if (tmpstr) free(tmpstr);
}
}
- free(buf);
+ free(b);
} while ( bytesread==8192 );
}
y++;