aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/winpty/misc/WindowsBugCrashReader.cc
blob: e6d9558df635a2bcf52d606e9478a689ce142a2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// I noticed this on the ConEmu web site:
//
// https://social.msdn.microsoft.com/Forums/en-US/40c8e395-cca9-45c8-b9b8-2fbe6782ac2b/readconsoleoutput-cause-access-violation-writing-location-exception
// https://conemu.github.io/en/MicrosoftBugs.html
//
// In Windows 7, 8, and 8.1, a ReadConsoleOutputW with an out-of-bounds read
// region crashes the application.  I have reproduced the problem on Windows 8
// and 8.1, but not on Windows 7.
//

#include <windows.h>

#include "TestUtil.cc"

int main() {
    setWindowPos(0, 0, 1, 1);
    setBufferSize(80, 25);
    setWindowPos(0, 0, 80, 25);

    const HANDLE conout = openConout();
    static CHAR_INFO lineBuf[80];
    SMALL_RECT readRegion = { 0, 999, 79, 999 };
    const BOOL ret = ReadConsoleOutputW(conout, lineBuf, {80, 1}, {0, 0}, &readRegion);
    ASSERT(!ret && "ReadConsoleOutputW should have failed");

    return 0;
}