ib_status = pDevice->pVerbs->query_ca(pDevice->pDevice->hDevice, attr,\r
&size, NULL);\r
if (ib_status != IB_SUCCESS) {\r
- ExFreePool(attr);\r
+ ExFreePoolWithTag(attr, 'acvw');\r
attr = NULL;\r
}\r
\r
}\r
\r
pDevice->PortCount = attr->num_ports;\r
- ExFreePool(attr);\r
+ ExFreePoolWithTag(attr, 'acvw');\r
\r
pDevice->pPorts = ExAllocatePoolWithTag(NonPagedPool, sizeof(WV_PORT) *\r
pDevice->PortCount, 'cpvw');\r
WdfIoQueuePurgeSynchronously(pDevice->pPorts[i].Queue);\r
WdfObjectDelete(pDevice->pPorts[i].Queue);\r
}\r
+ if (pDevice->pPorts != NULL) {\r
+ ExFreePoolWithTag(pDevice->pPorts, 'cpvw');\r
+ }\r
}\r
\r
void WvDeviceFree(WV_DEVICE *pDevice)\r
\r
WvDeviceFreePorts(pDevice);\r
WvProviderPut(pDevice->pProvider);\r
- ExFreePool(pDevice);\r
+ ExFreePoolWithTag(pDevice, 'cdvw');\r
}\r
\r
void WvDeviceRemoveHandler(WV_DEVICE *pDevice)\r
\r
WvConvertDevAttr(attr, ca_attr);\r
outlen = sizeof(WV_IO_DEVICE_ATTRIBUTES);\r
- ExFreePool(ca_attr);\r
+ ExFreePoolWithTag(ca_attr, 'acvw');\r
\r
complete:\r
WdfRequestCompleteWithInformation(Request, status, outlen);\r
outlen = sizeof(WV_IO_PORT_ATTRIBUTES);\r
\r
free:\r
- ExFreePool(ca_attr);\r
+ ExFreePoolWithTag(ca_attr, 'acvw');\r
complete:\r
WdfRequestCompleteWithInformation(Request, status, outlen);\r
}\r
}\r
\r
free:\r
- ExFreePool(ca_attr);\r
+ ExFreePoolWithTag(ca_attr, 'acvw');\r
complete:\r
WdfRequestCompleteWithInformation(Request, status, outlen);\r
}\r
}\r
\r
free:\r
- ExFreePool(ca_attr);\r
+ ExFreePoolWithTag(ca_attr, 'acvw');\r
complete:\r
WdfRequestCompleteWithInformation(Request, status, outlen);\r
}\r