From: Michael Schroeder Date: Fri, 12 Apr 2019 11:52:58 +0000 (+0200) Subject: fmemopen.c: free handle if _fdopen fails X-Git-Tag: 0.7.5~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8720a90eac3f30ecae4b4e2f2ebaff3618b76d7c;p=thirdparty%2Flibsolv.git fmemopen.c: free handle if _fdopen fails --- diff --git a/win32/fmemopen.c b/win32/fmemopen.c index 557bef81..ea88b08a 100644 --- a/win32/fmemopen.c +++ b/win32/fmemopen.c @@ -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 +}