fix mem-leaking when USB enumeration
This commit is contained in:
parent
e3a9ead2e4
commit
eeb68ac561
|
@ -123,6 +123,7 @@ DriverNameToDeviceInst(
|
|||
{
|
||||
done = TRUE;
|
||||
*pDevInfo = deviceInfo;
|
||||
deviceInfo = INVALID_HANDLE_VALUE;
|
||||
CopyMemory(pDevInfoData, &deviceInfoData, sizeof(deviceInfoData));
|
||||
FREE(buf);
|
||||
break;
|
||||
|
@ -137,7 +138,7 @@ DriverNameToDeviceInst(
|
|||
|
||||
Done:
|
||||
|
||||
if (bResult == FALSE)
|
||||
//if (bResult == FALSE)
|
||||
{
|
||||
if (deviceInfo != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
|
|
|
@ -3807,7 +3807,16 @@ void free_usb_device_info(PUSBDEVICEINFO pudi)
|
|||
if (pudi->ConfigDesc)
|
||||
FREE(pudi->ConfigDesc);
|
||||
if (pudi->StringDescs)
|
||||
{
|
||||
PSTRING_DESCRIPTOR_NODE next = pudi->StringDescs->Next;
|
||||
FREE(pudi->StringDescs);
|
||||
while (next)
|
||||
{
|
||||
pudi->StringDescs = next;
|
||||
next = pudi->StringDescs->Next;
|
||||
FREE(pudi->StringDescs);
|
||||
}
|
||||
}
|
||||
if (pudi->BosDesc)
|
||||
FREE(pudi->BosDesc);
|
||||
if (pudi->ConnectionInfoV2)
|
||||
|
|
|
@ -96,11 +96,11 @@ Revision History:
|
|||
|
||||
#else
|
||||
|
||||
#define ALLOC(dwBytes) GlobalAlloc(GPTR,(dwBytes))
|
||||
#define ALLOC(dwBytes) allocate_mem(dwBytes) // GlobalAlloc(GPTR,(dwBytes))
|
||||
|
||||
#define REALLOC(hMem, dwBytes) GlobalReAlloc((hMem), (dwBytes), (GMEM_MOVEABLE|GMEM_ZEROINIT))
|
||||
//#define REALLOC(hMem, dwBytes) GlobalReAlloc((hMem), (dwBytes), (GMEM_MOVEABLE|GMEM_ZEROINIT))
|
||||
|
||||
#define FREE(hMem) GlobalFree((hMem))
|
||||
#define FREE(hMem) free(hMem) // GlobalFree((hMem))
|
||||
|
||||
#define CHECKFORLEAKS()
|
||||
|
||||
|
@ -111,6 +111,16 @@ Revision History:
|
|||
#define STR_INVALID_POWER_STATE "(invalid state) "
|
||||
#define STR_UNKNOWN_CONTROLLER_FLAVOR "Unknown"
|
||||
|
||||
FORCEINLINE void* allocate_mem(size_t len)
|
||||
{
|
||||
void* mem = malloc(len);
|
||||
|
||||
if (mem)
|
||||
memset(mem, 0, len);
|
||||
|
||||
return mem;
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
VOID
|
||||
InitializeListHead(
|
||||
|
|
Loading…
Reference in New Issue