]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commitdiff
[VALGRIND] Fix memory leak in libblkid (blkid_get_devname)
authorTheodore Ts'o <tytso@mit.edu>
Wed, 21 Mar 2007 21:15:36 +0000 (17:15 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 21 Mar 2007 21:15:36 +0000 (17:15 -0400)
Nyah, nyah, Coverity didn't find this one.  :-)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
lib/blkid/ChangeLog
lib/blkid/resolve.c

index 3e95a7278cf241b60728bd10a956d9a5740f0d79..919fbb01f33be52b91f7c7f4a81d3fe1106c7616 100644 (file)
@@ -1,3 +1,7 @@
+2007-03-21  Theodore Tso  <tytso@mit.edu>
+
+       * resolve.c (blkid_get_devname): Fix memory leak.
+
 2007-03-18  Theodore Tso  <tytso@mit.edu>
 
        * tag.c (blkid_dev_has_tag): Allow value to be NULL, in which case
index 747ea476bb65f2c77e44d416e1fc6019eff66ad4..b4a93081dc91095fdacfbb609b178a0982398392 100644 (file)
@@ -79,22 +79,24 @@ char *blkid_get_devname(blkid_cache cache, const char *token,
                   value ? value : "", cache ? "in cache" : "from disk"));
 
        if (!value) {
-               if (!strchr(token, '='))
-                       return blkid_strdup(token);
+               if (!strchr(token, '=')) {
+                       ret = blkid_strdup(token);
+                       goto out;
+               }
                blkid_parse_tag_string(token, &t, &v);
                if (!t || !v)
-                       goto errout;
+                       goto out;
                token = t;
                value = v;
        }
 
        dev = blkid_find_dev_with_tag(c, token, value);
        if (!dev)
-               goto errout;
+               goto out;
 
        ret = blkid_strdup(blkid_dev_devname(dev));
 
-errout:
+out:
        if (t)
                free(t);
        if (v)