diff --git a/NEWS b/NEWS index 3da38e8d4..68d700bac 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,7 @@ ver 0.15.2 (2009/??/??) - flac: parse all replaygain tags - flac: don't allocate cuesheet twice (memleak) * update: free empty path string (memleak) +* update: free temporary string in container scan (memleak) ver 0.15.1 (2009/07/15) diff --git a/src/update.c b/src/update.c index 9a2a2ceb9..bdf84ce36 100644 --- a/src/update.c +++ b/src/update.c @@ -430,7 +430,7 @@ update_container_file( struct directory* directory, { char* vtrack = NULL; unsigned int tnum = 0; - const char* pathname = map_directory_child_fs(directory, name); + char* pathname = map_directory_child_fs(directory, name); struct directory* contdir = dirvec_find(&directory->children, name); // directory exists already @@ -446,8 +446,10 @@ update_container_file( struct directory* directory, modified = true; } - else + else { + g_free(pathname); return true; + } } contdir = make_subdir(directory, name); @@ -473,6 +475,8 @@ update_container_file( struct directory* directory, g_free(vtrack); } + g_free(pathname); + if (tnum == 1) { delete_directory(contdir);