summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorDenys Vlasenko <dvlasenk@redhat.com>2010-09-10 11:25:17 +0200
committerDenys Vlasenko <dvlasenk@redhat.com>2010-09-10 11:25:17 +0200
commita73e1e09227d2d51fe48172ef2d25719fcf4b697 (patch)
tree32a4fa0fe4c4a5c60f6347f4d497d94b8e0e0109 /lib
parente81083448ef5495fa336dbdf349c277fd8a9d12d (diff)
downloadabrt-a73e1e09227d2d51fe48172ef2d25719fcf4b697.tar.gz
abrt-a73e1e09227d2d51fe48172ef2d25719fcf4b697.tar.xz
abrt-a73e1e09227d2d51fe48172ef2d25719fcf4b697.zip
plug a memory leak in trim_debug_dumps()
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/utils/hooklib.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/utils/hooklib.c b/lib/utils/hooklib.c
index 243d2697..6494c039 100644
--- a/lib/utils/hooklib.c
+++ b/lib/utils/hooklib.c
@@ -122,7 +122,10 @@ void trim_debug_dumps(unsigned setting_MaxCrashReportsSize, const char *exclude_
char *worst_dir = NULL;
double dirsize = get_dirsize_find_largest_dir(DEBUG_DUMPS_DIR, &worst_dir, base_dirname);
if (dirsize / (1024*1024) < setting_MaxCrashReportsSize || !worst_dir)
+ {
+ free(worst_dir);
break;
+ }
log("size of '%s' >= %u MB, deleting '%s'", DEBUG_DUMPS_DIR, setting_MaxCrashReportsSize, worst_dir);
char *d = concat_path_file(DEBUG_DUMPS_DIR, worst_dir);
free(worst_dir);