diff --git a/dlls/netprofm/list.c b/dlls/netprofm/list.c index 197ef688a48..33b2fa6d45e 100644 --- a/dlls/netprofm/list.c +++ b/dlls/netprofm/list.c @@ -1681,7 +1681,11 @@ static void init_networks( struct list_manager *mgr ) if (ret != ERROR_BUFFER_OVERFLOW) return; if (!(buf = heap_alloc( size ))) return; - if (GetAdaptersAddresses( WS_AF_UNSPEC, flags, NULL, buf, &size )) return; + if (GetAdaptersAddresses( WS_AF_UNSPEC, flags, NULL, buf, &size )) + { + heap_free( buf ); + return; + } memset( &id, 0, sizeof(id) ); for (aa = buf; aa; aa = aa->Next)