From ddb664d6e7c56b379b16792333deefdf4bec7a99 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Mon, 2 Sep 2013 10:58:07 +0200 Subject: [PATCH] Fixed memory leak. --- libfreerdp/codec/rfx.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libfreerdp/codec/rfx.c b/libfreerdp/codec/rfx.c index 6cc6e7f14..75b097359 100644 --- a/libfreerdp/codec/rfx.c +++ b/libfreerdp/codec/rfx.c @@ -297,6 +297,12 @@ RFX_CONTEXT* rfx_context_new(void) void rfx_context_free(RFX_CONTEXT* context) { + assert(NULL != context); + assert(NULL != context->quants); + assert(NULL != context->priv); + assert(NULL != context->priv->TilePool); + assert(NULL != context->priv->BufferPool); + free(context->quants); ObjectPool_Free(context->priv->TilePool); @@ -1141,6 +1147,8 @@ RFX_MESSAGE* rfx_encode_message(RFX_CONTEXT* context, const RFX_RECT* rects, malloc(sizeof(RFX_TILE_COMPOSE_WORK_PARAM) * message->numTiles); if (!params) { + if (message->tiles) + free(message->tiles); free(message); free(work_objects); return NULL;