Sophie

Sophie

distrib > Mandriva > 2007.1 > i586 > by-pkgid > 453fe298c89a6a3209b960a60a0d9019 > files > 4

e2fsprogs-1.39-5.2mdv2007.1.src.rpm


# HG changeset patch
# User tytso@mit.edu
# Date 1173228978 18000
# Node ID 5a2a75111d7a6fc4b5ee99663f252a42d5a2b227
# Parent 69a666bd25f57107a09e5bad0a158b8a810e6a63
Fix memory leak in blkid library

Addresses Debian Bug: #413661

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

	* devname.c (dm_probe_all), probe.c (blkid_verify): Fix memory
		leak.  (Addresses Debian Bug #413661)

--- a/lib/blkid/devname.c	Sun Mar 04 08:17:18 2007 -0500
+++ b/lib/blkid/devname.c	Tue Mar 06 19:56:18 2007 -0500
@@ -305,6 +305,7 @@ static void dm_probe_all(blkid_cache cac
 		probe_one(cache, device, dev, BLKID_PRI_DM, only_if_new);
 
 try_next:
+		free(device);
 		next = names->next;
 	} while (next);
 
--- a/lib/blkid/probe.c	Sun Mar 04 08:17:18 2007 -0500
+++ b/lib/blkid/probe.c	Tue Mar 06 19:56:18 2007 -0500
@@ -886,9 +886,9 @@ try_again:
 	}
 
 	if (!dev->bid_type) {
-		if (probe.fd >= 0) close(probe.fd);
 		blkid_free_dev(dev);
-		return NULL;
+		dev = 0;
+		goto found_type;
 	}
 		
 found_type:
@@ -908,7 +908,8 @@ found_type:
 		free(probe.sbbuf);
 	if (probe.buf)
 		free(probe.buf);
-	close(probe.fd);
+	if (probe.fd >= 0) 
+		close(probe.fd);
 
 	return dev;
 }