From ca1d074c50493f032c60be627309e9b1eee53678 Mon Sep 17 00:00:00 2001 From: Ken Thomases Date: Mon, 23 Feb 2009 17:33:58 -0600 Subject: [PATCH] dsound: Replace a realloc-or-alloc with a free-then-alloc. The buffer is to be overwritten anyway, so there's no need to preserve its contents. Also, the old code leaked if the realloc were to fail. All in all, free-then-alloc is simpler. --- dlls/dsound/buffer.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c index 038a90ec0a9..abff0c934c6 100644 --- a/dlls/dsound/buffer.c +++ b/dlls/dsound/buffer.c @@ -117,11 +117,8 @@ static HRESULT WINAPI IDirectSoundNotifyImpl_SetNotificationPositions( } else if (howmuch > 0) { /* Make an internal copy of the caller-supplied array. * Replace the existing copy if one is already present. */ - if (This->dsb->notifies) - This->dsb->notifies = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, - This->dsb->notifies, howmuch * sizeof(DSBPOSITIONNOTIFY)); - else - This->dsb->notifies = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, + HeapFree(GetProcessHeap(), 0, This->dsb->notifies); + This->dsb->notifies = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, howmuch * sizeof(DSBPOSITIONNOTIFY)); if (This->dsb->notifies == NULL) {