compression_wrapper: Fix memory leak in cr_compression_type.
authorTomas Mlcoch <tmlcoch@redhat.com>
Thu, 19 Sep 2013 13:29:22 +0000 (15:29 +0200)
committerTomas Mlcoch <tmlcoch@redhat.com>
Thu, 19 Sep 2013 13:29:22 +0000 (15:29 +0200)
src/compression_wrapper.c

index fd63e07..8a6b19c 100644 (file)
@@ -235,18 +235,21 @@ cr_compression_type(const char *name)
     if (!name)
         return CR_CW_UNKNOWN_COMPRESSION;
 
+    int type = CR_CW_UNKNOWN_COMPRESSION;
     gchar *name_lower = g_strdup(name);
     for (gchar *c = name_lower; *c; c++)
         *c = tolower(*c);
 
     if (!g_strcmp0(name_lower, "gz") || !g_strcmp0(name_lower, "gzip"))
-        return CR_CW_GZ_COMPRESSION;
+        type = CR_CW_GZ_COMPRESSION;
     if (!g_strcmp0(name_lower, "bz2") || !g_strcmp0(name_lower, "bzip2"))
-        return CR_CW_BZ2_COMPRESSION;
+        type = CR_CW_BZ2_COMPRESSION;
     if (!g_strcmp0(name_lower, "xz"))
-        return CR_CW_XZ_COMPRESSION;
+        type = CR_CW_XZ_COMPRESSION;
 
-    return CR_CW_UNKNOWN_COMPRESSION;
+    g_free(name_lower);
+
+    return type;
 }
 
 const char *