]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
Fix leak in last commit
authorMichael Schroeder <mls@suse.de>
Mon, 1 Apr 2019 14:29:55 +0000 (16:29 +0200)
committerMichael Schroeder <mls@suse.de>
Mon, 1 Apr 2019 14:29:55 +0000 (16:29 +0200)
ext/solv_xfopen.c

index d5a04f5f6d2875b12f54ede3cf1127cd02486082..02b6cac5f1f2156fcac2cd9e7f9dea60491fa96d 100644 (file)
@@ -862,13 +862,14 @@ solv_xfopen_buf(const char *fn, char **bufp, size_t *buflp, const char *mode)
   l = buflp ? *buflp : strlen(*bufp);
   if (!strcmp(mode, "rf"))
     {
-      if (!(fp = fmemopen(0, l + 1, "r+")))
+      if (!(fp = fmemopen(0, l, "r+")))
        return 0;
       if (l && fwrite(*bufp, l, 1, fp) != 1)
        {
          fclose(fp);
          return 0;
        }
+      solv_free(*bufp);
       rewind(fp);
     }
   else