winecoreaudio: Set the buffer to NULL after freeing.

This ensures the subsequent allocation is free to pick a new location.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52202
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Huw Davies 2021-12-21 15:45:12 +00:00 committed by Alexandre Julliard
parent b498f38e1c
commit e03611ee59
1 changed files with 5 additions and 2 deletions

View File

@ -1352,8 +1352,11 @@ static NTSTATUS get_render_buffer(void *args)
if(stream->wri_offs_frames + params->frames > stream->bufsize_frames){
if(stream->tmp_buffer_frames < params->frames){
NtFreeVirtualMemory(GetCurrentProcess(), (void **)&stream->tmp_buffer,
&stream->tmp_buffer_size, MEM_RELEASE);
if(stream->tmp_buffer){
NtFreeVirtualMemory(GetCurrentProcess(), (void **)&stream->tmp_buffer,
&stream->tmp_buffer_size, MEM_RELEASE);
stream->tmp_buffer = NULL;
}
stream->tmp_buffer_size = params->frames * stream->fmt->nBlockAlign;
if(NtAllocateVirtualMemory(GetCurrentProcess(), (void **)&stream->tmp_buffer, 0,
&stream->tmp_buffer_size, MEM_COMMIT, PAGE_READWRITE)){