From 6ac0b10158f1d3df269af04a72a7922e30739c3d Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Mon, 2 Sep 2013 12:47:21 +0200 Subject: [PATCH] Removed buffer copy, still fixes memory leak. --- channels/rdpsnd/client/rdpsnd_main.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/channels/rdpsnd/client/rdpsnd_main.c b/channels/rdpsnd/client/rdpsnd_main.c index 5b7d36af4..9411380aa 100644 --- a/channels/rdpsnd/client/rdpsnd_main.c +++ b/channels/rdpsnd/client/rdpsnd_main.c @@ -381,10 +381,7 @@ void rdpsnd_send_wave_confirm_pdu(rdpsndPlugin* rdpsnd, UINT16 wTimeStamp, BYTE void rdpsnd_device_send_wave_confirm_pdu(rdpsndDevicePlugin* device, RDPSND_WAVE* wave) { - RDPSND_WAVE *copy = malloc(sizeof(RDPSND_WAVE)); - CopyMemory(copy, wave, sizeof(RDPSND_WAVE)); - - MessageQueue_Post(device->rdpsnd->queue, NULL, 0, (void*) copy, NULL); + MessageQueue_Post(device->rdpsnd->queue, NULL, 0, (void*) wave, NULL); } static void rdpsnd_recv_wave_pdu(rdpsndPlugin* rdpsnd, wStream* s) @@ -447,7 +444,8 @@ static void rdpsnd_recv_wave_pdu(rdpsndPlugin* rdpsnd, wStream* s) wave->wLocalTimeB = wave->wLocalTimeA + wave->wAudioLength + TIME_DELAY_MS; rdpsnd->device->WaveConfirm(rdpsnd->device, wave); } - free(wave); + else + free(wave); } static void rdpsnd_recv_close_pdu(rdpsndPlugin* rdpsnd)