Christian Costa : d3drm: Fix leakage of pData2 on error.

Alexandre Julliard julliard at winehq.org
Tue Mar 13 13:50:38 CDT 2012


Module: wine
Branch: master
Commit: fe339ba25bd3143fd6eb15d2841ab5a434cdf1b6
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=fe339ba25bd3143fd6eb15d2841ab5a434cdf1b6

Author: Christian Costa <titan.costa at gmail.com>
Date:   Fri Mar  9 11:55:37 2012 +0100

d3drm: Fix leakage of pData2 on error.

---

 dlls/d3drm/meshbuilder.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c
index 21ff568..5885062 100644
--- a/dlls/d3drm/meshbuilder.c
+++ b/dlls/d3drm/meshbuilder.c
@@ -1159,10 +1159,7 @@ static HRESULT WINAPI IDirect3DRMMeshBuilder3Impl_Load(IDirect3DRMMeshBuilder3*
 
         hr = IDirectXFileData_GetType(pData2, &pGuid);
         if (hr != DXFILE_OK)
-        {
-            IDirectXFileData_Release(pData2);
             goto end;
-        }
 
         TRACE("Found object type whose GUID = %s\n", debugstr_guid(pGuid));
 
@@ -1206,11 +1203,14 @@ static HRESULT WINAPI IDirect3DRMMeshBuilder3Impl_Load(IDirect3DRMMeshBuilder3*
         }
 
         IDirectXFileData_Release(pData2);
+        pData2 = NULL;
     }
 
     ret = D3DRM_OK;
 
 end:
+    if (pData2)
+        IDirectXFileData_Release(pData2);
     if (pData)
         IDirectXFileData_Release(pData);
     if (pEnumObject)




More information about the wine-cvs mailing list