]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
Fix two mem leaks
authorMichael Schroeder <mls@suse.de>
Mon, 15 Apr 2019 13:46:46 +0000 (15:46 +0200)
committerMichael Schroeder <mls@suse.de>
Mon, 15 Apr 2019 13:46:46 +0000 (15:46 +0200)
src/conda.c

index 5acdaded8c5103d07c66e44f8e89c9abe3685756..7f2538a9feb42191ba35539fc35e91e97b4df1a8 100644 (file)
@@ -239,9 +239,13 @@ regexmatch(const char *evr, const char *version, size_t versionlen, int icase)
   memcpy(buf, version, versionlen);
   buf[versionlen] = 0;
   if (regcomp(&reg, buf, REG_EXTENDED | REG_NOSUB | (icase ? REG_ICASE : 0)))
-    return 0;
+    {
+      solv_free(buf);
+      return 0;
+    }
   r = regexec(&reg, evr, 0, NULL, 0);
   regfree(&reg);
+  solv_free(buf);
   return r == 0;
 }
 
@@ -264,9 +268,13 @@ globmatch(const char *evr, const char *version, size_t versionlen, int icase)
   buf[j++] = '$';
   buf[j] = 0;
   if (regcomp(&reg, buf, REG_EXTENDED | REG_NOSUB | (icase ? REG_ICASE : 0)))
-    return 0;
+    {
+      solv_free(buf);
+      return 0;
+    }
   r = regexec(&reg, evr, 0, NULL, 0);
   regfree(&reg);
+  solv_free(buf);
   return r == 0;
 }