From 07051fb3d1d865295a5332fa89ddcfd8b14d2c36 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Sun, 16 Nov 2014 23:00:13 +0100 Subject: [PATCH] Fixed memory leaks. --- libfreerdp/gdi/gfx.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libfreerdp/gdi/gfx.c b/libfreerdp/gdi/gfx.c index f85a1e50f..9447fa01f 100644 --- a/libfreerdp/gdi/gfx.c +++ b/libfreerdp/gdi/gfx.c @@ -570,7 +570,10 @@ int gdi_CreateSurface(RdpgfxClientContext* context, RDPGFX_CREATE_SURFACE_PDU* c surface->data = (BYTE*) calloc(1, surface->scanline * surface->height); if (!surface->data) + { + free (surface); return -1; + } context->SetSurfaceData(context, surface->surfaceId, (void*) surface); @@ -737,7 +740,10 @@ int gdi_SurfaceToCache(RdpgfxClientContext* context, RDPGFX_SURFACE_TO_CACHE_PDU cacheEntry->data = (BYTE*) calloc(1, cacheEntry->scanline * cacheEntry->height); if (!cacheEntry->data) + { + free (cacheEntry); return -1; + } freerdp_image_copy(cacheEntry->data, cacheEntry->format, cacheEntry->scanline, 0, 0, cacheEntry->width, cacheEntry->height, surface->data,