diff --git a/libfreerdp/gdi/gfx.c b/libfreerdp/gdi/gfx.c index c5cdd7625..5d8ba5944 100644 --- a/libfreerdp/gdi/gfx.c +++ b/libfreerdp/gdi/gfx.c @@ -717,7 +717,10 @@ UINT gdi_CreateSurface(RdpgfxClientContext* context, RDPGFX_CREATE_SURFACE_PDU* surface->codecs = codecs_new(gdi->context); if (!surface->codecs) + { + free (surface); return CHANNEL_RC_NO_MEMORY; + } surface->surfaceId = createSurface->surfaceId; surface->width = (UINT32) createSurface->width;