Alex Henrie : quartz: Fix memory leaks on error paths in FilterMapper3_RegisterFilter (cppcheck).

Alexandre Julliard julliard at winehq.org
Mon Dec 20 15:42:39 CST 2021


Module: wine
Branch: master
Commit: 8e081d32bd35f5a2acdef10bd541ee039038e5ce
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=8e081d32bd35f5a2acdef10bd541ee039038e5ce

Author: Alex Henrie <alexhenrie24 at gmail.com>
Date:   Sun Dec 19 21:56:08 2021 -0700

quartz: Fix memory leaks on error paths in FilterMapper3_RegisterFilter (cppcheck).

Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/quartz/filtermapper.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/dlls/quartz/filtermapper.c b/dlls/quartz/filtermapper.c
index 230273891d4..a95f0ca7832 100644
--- a/dlls/quartz/filtermapper.c
+++ b/dlls/quartz/filtermapper.c
@@ -894,12 +894,16 @@ static HRESULT WINAPI FilterMapper3_RegisterFilter(IFilterMapper3 *iface,
 
     if (FAILED(hr = CoCreateInstance(&CLSID_CDeviceMoniker, NULL, CLSCTX_INPROC,
             &IID_IParseDisplayName, (void **)&parser)))
+    {
+        free(display_name);
         return hr;
+    }
 
     if (FAILED(hr = IParseDisplayName_ParseDisplayName(parser, NULL, display_name, &eaten, &moniker)))
     {
         ERR("Failed to parse display name, hr %#x.\n", hr);
         IParseDisplayName_Release(parser);
+        free(display_name);
         return hr;
     }
 
@@ -909,6 +913,7 @@ static HRESULT WINAPI FilterMapper3_RegisterFilter(IFilterMapper3 *iface,
     {
         ERR("Failed to get property bag, hr %#x.\n", hr);
         IMoniker_Release(moniker);
+        free(display_name);
         return hr;
     }
 




More information about the wine-cvs mailing list