diff options
author | Junnan Xu <junnanx.xu@gmail.com> | 2022-06-17 15:20:04 +0800 |
---|---|---|
committer | Rui Salvaterra <rsalvaterra@gmail.com> | 2022-06-27 10:52:10 +0100 |
commit | a68088ef3160d75f02bb6af5f552ca507e51df56 (patch) | |
tree | 2882586d304050783b9eabb22efb73a90a6e292f | |
parent | 7a0096853594874d4c60266ec338ac23728017df (diff) | |
download | procd-a68088ef3160d75f02bb6af5f552ca507e51df56.tar.gz |
utrace: fix memory leak
Fixes following memory leak:
14 bytes in 1 blocks are definitely lost in loss record 1 of 5
at 0x4079514: malloc (vg_replace_malloc.c:309)
by 0x4049A04: vasprintf (vasprintf.c:13)
by 0x4046354: asprintf (asprintf.c:10)
by 0x80491A9: main (in /root/utrace)
134 bytes in 1 blocks are definitely lost in loss record 3 of 5
at 0x4079514: malloc (vg_replace_malloc.c:309)
by 0x4049A04: vasprintf (vasprintf.c:13)
by 0x4046354: asprintf (asprintf.c:10)
by 0x8049208: main (in /root/utrace)
Signed-off-by: Junnan Xu <junnanx.xu@gmail.com>
Reviewed-by: Rui Salvaterra <rsalvaterra@gmail.com>
-rw-r--r-- | trace/trace.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/trace/trace.c b/trace/trace.c index d895798..6fd321f 100644 --- a/trace/trace.c +++ b/trace/trace.c @@ -381,6 +381,10 @@ int main(int argc, char **argv, char **envp) ULOG_ERR("failed to exec %s: %m\n", _argv[0]); free(_argv); + if (_envp[0]) + free(_envp[0]); + if (newenv == 2 && _envp[1]) + free(_envp[1]); free(_envp); return ret; } |