diff --git a/reactos/subsystems/win32/csrss/win32csr/conio.c b/reactos/subsystems/win32/csrss/win32csr/conio.c index 78e3726c758..a72043b9fa8 100644 --- a/reactos/subsystems/win32/csrss/win32csr/conio.c +++ b/reactos/subsystems/win32/csrss/win32csr/conio.c @@ -3023,12 +3023,20 @@ CSR_API(CsrSetConsoleOutputCodePage) Request->Header.u1.s1.TotalLength = sizeof(CSR_API_MESSAGE); Request->Header.u1.s1.DataLength = sizeof(CSR_API_MESSAGE) - sizeof(PORT_MESSAGE); - if (IsValidCodePage(Request->Data.SetConsoleOutputCodePage.CodePage)) + if (Request->Data.SetConsoleOutputCodePage.CodePage == 0) + { + ConioUnlockConsole(Console); + return STATUS_INVALID_PARAMETER; + } + else + { + if (IsValidCodePage(Request->Data.SetConsoleOutputCodePage.CodePage)) { Console->OutputCodePage = Request->Data.SetConsoleOutputCodePage.CodePage; ConioUnlockConsole(Console); return STATUS_SUCCESS; } + } ConioUnlockConsole(Console); return STATUS_UNSUCCESSFUL; }