From: Hugh McMaster hugh.mcmaster@outlook.com
--- dlls/kernelbase/console.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/kernelbase/console.c b/dlls/kernelbase/console.c index e3b0ebead9e..30e95bcb84b 100644 --- a/dlls/kernelbase/console.c +++ b/dlls/kernelbase/console.c @@ -1059,9 +1059,9 @@ DWORD WINAPI DECLSPEC_HOTPATCH GetConsoleTitleW( LPWSTR title, DWORD size )
if (!console_ioctl( RtlGetCurrentPeb()->ProcessParameters->ConsoleHandle, IOCTL_CONDRV_GET_TITLE, NULL, 0, params, max_size, &size )) - return 0; + goto error;
- if (size < sizeof(*params)) return 0; + if (size < sizeof(*params)) goto error;
size -= sizeof(*params); memcpy( title, params->buffer, size ); @@ -1069,6 +1069,10 @@ DWORD WINAPI DECLSPEC_HOTPATCH GetConsoleTitleW( LPWSTR title, DWORD size ) size = params->title_len; HeapFree( GetProcessHeap(), 0, params ); return size; + +error: + HeapFree( GetProcessHeap(), 0, params ); + return 0; }