mirror of
https://github.com/reactos/reactos.git
synced 2024-10-04 00:13:57 +00:00
[TCPSVCS]
- Fix buffer overrun - Fix memory leak - Properly init memory CID #511073 CID #1102322 CID #1102405 svn path=/trunk/; revision=62648
This commit is contained in:
parent
ad8c33fa00
commit
75555432ba
|
@ -58,7 +58,7 @@ RetrieveQuote(SOCKET sock)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DWORD dwSize = GetFileSize(hFile, NULL);
|
DWORD dwSize = GetFileSize(hFile, NULL);
|
||||||
lpQuotes = (LPSTR)HeapAlloc(GetProcessHeap(), 0, dwSize);
|
lpQuotes = (LPSTR)HeapAlloc(GetProcessHeap(), 0, dwSize + 1);
|
||||||
if (!lpQuotes)
|
if (!lpQuotes)
|
||||||
{
|
{
|
||||||
CloseHandle(hFile);
|
CloseHandle(hFile);
|
||||||
|
@ -75,7 +75,10 @@ RetrieveQuote(SOCKET sock)
|
||||||
lpQuotes[dwSize] = 0;
|
lpQuotes[dwSize] = 0;
|
||||||
|
|
||||||
if (dwBytesRead != dwSize)
|
if (dwBytesRead != dwSize)
|
||||||
|
{
|
||||||
|
HeapFree(GetProcessHeap(), 0, lpQuotes);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
lpStr = lpQuotes;
|
lpStr = lpQuotes;
|
||||||
while (*lpStr)
|
while (*lpStr)
|
||||||
|
@ -120,6 +123,7 @@ RetrieveQuote(SOCKET sock)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HeapFree(GetProcessHeap(), 0, lpQuotes);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@ SetUpListener(USHORT Port)
|
||||||
sock = socket(AF_INET, SOCK_STREAM, 0);
|
sock = socket(AF_INET, SOCK_STREAM, 0);
|
||||||
if (sock != INVALID_SOCKET)
|
if (sock != INVALID_SOCKET)
|
||||||
{
|
{
|
||||||
|
ZeroMemory(&server, sizeof(SOCKADDR_IN));
|
||||||
server.sin_family = AF_INET;
|
server.sin_family = AF_INET;
|
||||||
server.sin_addr.s_addr = htonl(INADDR_ANY);
|
server.sin_addr.s_addr = htonl(INADDR_ANY);
|
||||||
server.sin_port = Port;
|
server.sin_port = Port;
|
||||||
|
|
Loading…
Reference in a new issue