update: free temporary string in container scan (memleak)

The return value of map_directory_child_fs() must be freed.
This commit is contained in:
Max Kellermann 2009-08-14 11:51:51 +02:00
parent 1c4f407a6d
commit 5d6f7803e1
2 changed files with 7 additions and 2 deletions

1
NEWS
View File

@ -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)

View File

@ -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);