Message224606
| Author |
eryksun |
| Recipients |
amaury.forgeotdarc, casevh, davidsarah, eryksun, neologix, pitrou, python-dev, santoso.wijaya, terry.reedy, vstinner |
| Date |
2014年08月03日.03:36:04 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1407036965.07.0.90624245079.issue11395@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
The buffer size only needs to be capped if WINVER < 0x602. This issue doesn't apply to Windows 8 since it uses the ConDrv device driver instead of LPC.
Prior to Windows 8, WriteFile redirects to WriteConsoleA when passed a console handle. This makes an LPC call to conhost.exe (csrss.exe before Windows 7), which copies the buffer to a shared heap. But a Windows 8 console process instead has actual File handles provided by the ConDrv device:
stdin \Device\ConDrv\Input
stdout \Device\ConDrv\Output
stderr \Device\ConDrv\Output
For File handles, ReadFile and WriteFile simply call the NT system functions NtReadFile and NtWriteFile. The buffer size is only limited by available memory. |
|