From e44f31391234607ce0e95d69903142e71d61c813 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Fri, 14 Aug 2009 11:51:35 +0200
Subject: [PATCH] update: free empty path string (memleak)

When you pass an empty string to directory_update_init(), it was not
freed by update_task().
---
 NEWS         | 1 +
 src/update.c | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index 374c58d80..d312b6d97 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,7 @@ ver 0.15.2 (2009/??/??)
 * decoders:
   - mad: skip ID3 frames when libid3tag is disabled
   - flac: parse all replaygain tags
+* update: free empty path string (memleak)
 
 
 ver 0.15.1 (2009/07/15)
diff --git a/src/update.c b/src/update.c
index 1088f5338..9a2a2ceb9 100644
--- a/src/update.c
+++ b/src/update.c
@@ -767,7 +767,6 @@ static void * update_task(void *_path)
 {
 	if (_path != NULL && !isRootDirectory(_path)) {
 		updatePath((char *)_path);
-		g_free(_path);
 	} else {
 		struct directory *directory = db_get_root();
 		struct stat st;
@@ -776,6 +775,8 @@ static void * update_task(void *_path)
 			updateDirectory(directory, &st);
 	}
 
+	g_free(_path);
+
 	if (modified || !db_exists())
 		db_save();