=?UTF-8?Q?Fr=C3=A9d=C3=A9ric=20Delanoy=20?=: iphlapi: Fix some leaks ( coverity).

Alexandre Julliard julliard at winehq.org
Wed Nov 7 14:02:28 CST 2012


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

Author: Frédéric Delanoy <frederic.delanoy at gmail.com>
Date:   Wed Nov  7 10:36:46 2012 +0100

iphlapi: Fix some leaks (coverity).

---

 dlls/iphlpapi/ifenum.c        |    4 ++++
 dlls/iphlpapi/iphlpapi_main.c |    1 +
 2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/dlls/iphlpapi/ifenum.c b/dlls/iphlpapi/ifenum.c
index 4f76d87..aff88cd 100644
--- a/dlls/iphlpapi/ifenum.c
+++ b/dlls/iphlpapi/ifenum.c
@@ -741,6 +741,8 @@ DWORD getIPAddrTable(PMIB_IPADDRTABLE *ppIpAddrTable, HANDLE heap, DWORD flags)
            ifp->ifa_addr);
           i++;
         }
+        if (ret)
+          HeapFree(GetProcessHeap(), 0, *ppIpAddrTable);
       }
       else
         ret = ERROR_OUTOFMEMORY;
@@ -928,6 +930,8 @@ DWORD getIPAddrTable(PMIB_IPADDRTABLE *ppIpAddrTable, HANDLE heap, DWORD flags)
            &ifr->ifr_addr);
           i++;
         }
+        if (ret)
+          HeapFree(GetProcessHeap(), 0, *ppIpAddrTable);
       }
       else
         ret = ERROR_OUTOFMEMORY;
diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c
index dae779c..16f138c 100644
--- a/dlls/iphlpapi/iphlpapi_main.c
+++ b/dlls/iphlpapi/iphlpapi_main.c
@@ -784,6 +784,7 @@ static ULONG adapterAddressesFromIndex(ULONG family, ULONG flags, IF_INDEX index
     }
     if (ret)
     {
+        HeapFree(GetProcessHeap(), 0, v4addrs);
         HeapFree(GetProcessHeap(), 0, routeTable);
         return ret;
     }




More information about the wine-cvs mailing list