]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
fmemopen.c: free handle if _fdopen fails
authorMichael Schroeder <mls@suse.de>
Fri, 12 Apr 2019 11:52:58 +0000 (13:52 +0200)
committerMichael Schroeder <mls@suse.de>
Fri, 12 Apr 2019 11:52:58 +0000 (13:52 +0200)
win32/fmemopen.c

index 557bef811935ff33b85e8d8d6fa7be63c46b23ff..ea88b08a0006746556ee5c3ddf1e550299ca5e16 100644 (file)
@@ -27,7 +27,10 @@ fmemopen(void *buf, size_t size, const char *mode)
     return 0;
   fp = _fdopen(_open_osfhandle((intptr_t)fh, 0), "w+b");
   if (!fp)
-    return 0;
+    {
+      CloseHandle(fh);
+      return 0;
+    }
   if (buf && size && fwrite(buf, size, 1, fp) != 1)
     {
       fclose(fp);
@@ -35,4 +38,4 @@ fmemopen(void *buf, size_t size, const char *mode)
     }
   rewind(fp);
   return fp;
-}
\ No newline at end of file
+}