[WLANCONF]

- Fix a potential buffer overflow, fix a handle leak, fix an MSVC warning

svn path=/trunk/; revision=57538
This commit is contained in:
Thomas Faber 2012-10-12 10:56:08 +00:00
parent 9971415df5
commit 4377ed8869

View file

@ -119,7 +119,8 @@ OpenAdapterHandle(DWORD Index, HANDLE *hAdapter, IP_ADAPTER_INDEX_MAP *IpInfo)
DWORD dwBytesReturned; DWORD dwBytesReturned;
DWORD QueryBindingSize = sizeof(NDISUIO_QUERY_BINDING) + (1024 * sizeof(WCHAR)); DWORD QueryBindingSize = sizeof(NDISUIO_QUERY_BINDING) + (1024 * sizeof(WCHAR));
PNDISUIO_QUERY_BINDING QueryBinding; PNDISUIO_QUERY_BINDING QueryBinding;
DWORD dwStatus, dwSize, i; DWORD dwStatus, dwSize;
LONG i;
PIP_INTERFACE_INFO InterfaceInfo = NULL; PIP_INTERFACE_INFO InterfaceInfo = NULL;
/* Open the driver handle */ /* Open the driver handle */
@ -174,7 +175,7 @@ OpenAdapterHandle(DWORD Index, HANDLE *hAdapter, IP_ADAPTER_INDEX_MAP *IpInfo)
dwSize = sizeof(IP_INTERFACE_INFO); dwSize = sizeof(IP_INTERFACE_INFO);
do { do {
if (InterfaceInfo) HeapFree(GetProcessHeap(), 0, InterfaceInfo); if (InterfaceInfo) HeapFree(GetProcessHeap(), 0, InterfaceInfo);
InterfaceInfo = HeapAlloc(GetProcessHeap(), 0, sizeof(IP_INTERFACE_INFO)); InterfaceInfo = HeapAlloc(GetProcessHeap(), 0, dwSize);
if (!InterfaceInfo) if (!InterfaceInfo)
{ {
HeapFree(GetProcessHeap(), 0, QueryBinding); HeapFree(GetProcessHeap(), 0, QueryBinding);
@ -188,6 +189,7 @@ OpenAdapterHandle(DWORD Index, HANDLE *hAdapter, IP_ADAPTER_INDEX_MAP *IpInfo)
{ {
HeapFree(GetProcessHeap(), 0, QueryBinding); HeapFree(GetProcessHeap(), 0, QueryBinding);
HeapFree(GetProcessHeap(), 0, InterfaceInfo); HeapFree(GetProcessHeap(), 0, InterfaceInfo);
CloseHandle(hDriver);
return FALSE; return FALSE;
} }