fix kernel32 comm crash
authorChristoph von Wittich <christoph_vw@reactos.org>
Sun, 18 Jan 2009 13:56:09 +0000 (13:56 +0000)
committerChristoph von Wittich <christoph_vw@reactos.org>
Sun, 18 Jan 2009 13:56:09 +0000 (13:56 +0000)
If lpOverlapped is NULL, lpBytesReturned cannot be NULL.

svn path=/trunk/; revision=38891

reactos/dll/win32/kernel32/misc/comm.c

index 8bed46d..622bc39 100644 (file)
@@ -354,13 +354,13 @@ GetCommState(HANDLE hFile, LPDCB lpDCB)
        }
 
     if (!DeviceIoControl(hFile, IOCTL_SERIAL_GET_BAUD_RATE,
-                         NULL, 0, &BaudRate, sizeof(BaudRate), NULL, NULL) ||
+                         NULL, 0, &BaudRate, sizeof(BaudRate), &dwBytesReturned, NULL) ||
         !DeviceIoControl(hFile, IOCTL_SERIAL_GET_LINE_CONTROL,
-                         NULL, 0, &LineControl, sizeof(LineControl), NULL, NULL) ||
+                         NULL, 0, &LineControl, sizeof(LineControl), &dwBytesReturned, NULL) ||
         !DeviceIoControl(hFile, IOCTL_SERIAL_GET_HANDFLOW,
-                         NULL, 0, &HandFlow, sizeof(HandFlow), NULL, NULL) ||
+                         NULL, 0, &HandFlow, sizeof(HandFlow), &dwBytesReturned, NULL) ||
         !DeviceIoControl(hFile, IOCTL_SERIAL_GET_CHARS,
-                         NULL, 0, &SpecialChars, sizeof(SpecialChars), NULL, NULL))
+                         NULL, 0, &SpecialChars, sizeof(SpecialChars), &dwBytesReturned, NULL))
         return FALSE;
 
     memset(lpDCB, 0, sizeof(*lpDCB));