ws2_32: Fix memory leak on error path in get_local_ips (cppcheck).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
950792ae2b
commit
978df2e031
|
@ -806,7 +806,7 @@ static struct hostent *get_local_ips( char *hostname )
|
|||
IP_ADAPTER_INFO *adapters = NULL, *k;
|
||||
struct hostent *hostlist = NULL;
|
||||
MIB_IPFORWARDTABLE *routes = NULL;
|
||||
struct route *route_addrs = NULL;
|
||||
struct route *route_addrs = NULL, *new_route_addrs;
|
||||
DWORD adap_size, route_size, n;
|
||||
|
||||
/* Obtain the size of the adapter list and routing table, also allocate memory */
|
||||
|
@ -852,9 +852,10 @@ static struct hostent *get_local_ips( char *hostname )
|
|||
}
|
||||
if (exists)
|
||||
continue;
|
||||
route_addrs = realloc( route_addrs, (numroutes + 1) * sizeof(struct route) );
|
||||
if (!route_addrs)
|
||||
new_route_addrs = realloc( route_addrs, (numroutes + 1) * sizeof(struct route) );
|
||||
if (!new_route_addrs)
|
||||
goto cleanup;
|
||||
route_addrs = new_route_addrs;
|
||||
route_addrs[numroutes].interface = ifindex;
|
||||
route_addrs[numroutes].metric = ifmetric;
|
||||
route_addrs[numroutes].default_route = ifdefault;
|
||||
|
|
Loading…
Reference in New Issue