From 8720a90eac3f30ecae4b4e2f2ebaff3618b76d7c Mon Sep 17 00:00:00 2001 From: Michael Schroeder Date: Fri, 12 Apr 2019 13:52:58 +0200 Subject: [PATCH] fmemopen.c: free handle if _fdopen fails --- win32/fmemopen.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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 +} -- 2.47.3