Module: wine Branch: master Commit: c9e1b789d285fc43c1d8142eb8b4f2fe969c6c45 URL: https://source.winehq.org/git/wine.git/?a=commit;h=c9e1b789d285fc43c1d8142eb...
Author: Jacek Caban jacek@codeweavers.com Date: Thu Oct 1 15:08:50 2020 +0200
conhost: Clear out_size in IOCTL_CONDRV_READ_CONSOLE implementation.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
programs/conhost/conhost.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/programs/conhost/conhost.c b/programs/conhost/conhost.c index 86a400307d..ac0e22b4c4 100644 --- a/programs/conhost/conhost.c +++ b/programs/conhost/conhost.c @@ -2425,6 +2425,8 @@ static NTSTATUS screen_buffer_ioctl( struct screen_buffer *screen_buffer, unsign static NTSTATUS console_input_ioctl( struct console *console, unsigned int code, const void *in_data, size_t in_size, size_t *out_size ) { + NTSTATUS status; + switch (code) { case IOCTL_CONDRV_GET_MODE: @@ -2446,12 +2448,13 @@ static NTSTATUS console_input_ioctl( struct console *console, unsigned int code, case IOCTL_CONDRV_READ_CONSOLE: if (in_size || *out_size % sizeof(WCHAR)) return STATUS_INVALID_PARAMETER; ensure_tty_input_thread( console ); - return read_console( console, *out_size ); + status = read_console( console, *out_size ); + *out_size = 0; + return status;
case IOCTL_CONDRV_READ_INPUT: { unsigned int blocking; - NTSTATUS status; if (in_size && in_size != sizeof(blocking)) return STATUS_INVALID_PARAMETER; ensure_tty_input_thread( console ); blocking = in_size && *(unsigned int *)in_data;