diff options
author | Carton He <carton.he@marvell.com> | 2013-08-28 11:19:34 +0800 |
---|---|---|
committer | Carton He <carton.he@marvell.com> | 2013-08-28 11:27:45 +0800 |
commit | d3fa8e5f889cd8fdcc9029af421ca755bd20ac1e (patch) | |
tree | 532613efc4ce128cabe63f1bff5da634bae0dda4 /libpagemap | |
parent | 7f026d09fa05a3aa93cea6f6e25df1b5c0f800a0 (diff) | |
download | extras-d3fa8e5f889cd8fdcc9029af421ca755bd20ac1e.tar.gz |
libpagemap: fix memory leak in pm_process_destroy()
procrank/librank not impacted because they end quickly. But other
programs that use libpagemap and last for long time can easily see this
memory leak.
Change-Id: I8c9e9444555bef9145c9d89850987a29f15a9b3b
Signed-off-by: Carton He <carton.he@marvell.com>
Diffstat (limited to 'libpagemap')
-rw-r--r-- | libpagemap/pm_process.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libpagemap/pm_process.c b/libpagemap/pm_process.c index 73c96492..d1f9bb78 100644 --- a/libpagemap/pm_process.c +++ b/libpagemap/pm_process.c @@ -207,9 +207,14 @@ int pm_process_workingset(pm_process_t *proc, } int pm_process_destroy(pm_process_t *proc) { + int i; + if (!proc) return -1; + for (i = 0; i < proc->num_maps; i++) { + pm_map_destroy(proc->maps[i]); + } free(proc->maps); close(proc->pagemap_fd); free(proc); |