From 478f24b02bb6038dad29403e67c54fcf043e4423 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Mon, 4 Sep 2006 21:26:49 +0000 Subject: [PATCH] * use ConsoleInfo struct directly * change type in global struct (avoid buffer overflow when reading value from registry) svn path=/trunk/; revision=23918 --- reactos/dll/win32/console/console.c | 24 +++++++++++------------- reactos/dll/win32/console/console.h | 2 +- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/reactos/dll/win32/console/console.c b/reactos/dll/win32/console/console.c index e10e3bbb908..3bf5de193ed 100644 --- a/reactos/dll/win32/console/console.c +++ b/reactos/dll/win32/console/console.c @@ -192,14 +192,14 @@ InitApplet(HWND hwnd, UINT uMsg, LONG wParam, LONG lParam) else { /* use current info */ - PConsoleInfo pSharedInfo = MapViewOfFile((HANDLE)wParam, - FILE_MAP_ALL_ACCESS, - 0, - 0, - sizeof(ConsoleInfo)); + PConsoleInfo pSharedInfo = (PConsoleInfo)wParam; - /* copy options */ - if (pSharedInfo) + if (IsBadReadPtr((const void *)pSharedInfo, sizeof(ConsoleInfo))) + { + /* use defaults */ + InitConsoleDefaults(pConInfo); + } + else { pConInfo->InsertMode = pSharedInfo->InsertMode; pConInfo->HistoryBufferSize = pSharedInfo->HistoryBufferSize; @@ -255,8 +255,6 @@ CPlApplet( LPARAM lParam1, LPARAM lParam2) { - int i = (int)lParam1; - switch(uMsg) { case CPL_INIT: @@ -270,14 +268,14 @@ CPlApplet( case CPL_INQUIRE: { CPLINFO *CPlInfo = (CPLINFO*)lParam2; - CPlInfo->idIcon = Applets[i].idIcon; - CPlInfo->idName = Applets[i].idName; - CPlInfo->idInfo = Applets[i].idDescription; + CPlInfo->idIcon = Applets[0].idIcon; + CPlInfo->idName = Applets[0].idName; + CPlInfo->idInfo = Applets[0].idDescription; break; } case CPL_DBLCLK: { - Applets[i].AppletProc(hwndCPl, uMsg, lParam1, lParam2); + Applets[0].AppletProc(hwndCPl, uMsg, lParam1, lParam2); break; } } diff --git a/reactos/dll/win32/console/console.h b/reactos/dll/win32/console/console.h index 933925811c8..5f01b939bc0 100644 --- a/reactos/dll/win32/console/console.h +++ b/reactos/dll/win32/console/console.h @@ -25,7 +25,7 @@ typedef struct TAGConsoleInfo HWND hConsoleWindow; TCHAR szProcessName[MAX_PATH]; BOOLEAN AppliedConfig; - BOOLEAN UseRasterFonts; + DWORD UseRasterFonts; DWORD FontSize; DWORD FontWeight; FONTSIGNATURE FontSignature;