From 913fcf1a74426725f14380dd5b34286a21c37ab7 Mon Sep 17 00:00:00 2001 From: Mario Trangoni Date: Sun, 25 Mar 2018 16:13:10 +0200 Subject: Fix some memory leaks. --- nx-X11/programs/Xserver/hw/nxagent/NXmiexpose.c | 6 ++++-- nx-X11/programs/Xserver/hw/nxagent/NXrender.c | 1 + nx-X11/programs/Xserver/hw/nxagent/compext/Png.c | 13 ++++++++----- 3 files changed, 13 insertions(+), 7 deletions(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent') diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXmiexpose.c b/nx-X11/programs/Xserver/hw/nxagent/NXmiexpose.c index 04f746aaf..a51ae6fcc 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXmiexpose.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXmiexpose.c @@ -629,11 +629,13 @@ int what; screenContext[i] = CreateGC((DrawablePtr)pWin, (BITS32) 0, (XID *)NULL, &status); if (!screenContext[i]) + free(prect); return; numGCs++; if (!AddResource(FakeClientID(0), ResType, - (void *)screenContext[i])) - return; + (void *)screenContext[i])) + free(prect); + return; } pGC = screenContext[i]; newValues[SUBWINDOW].val = IncludeInferiors; diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXrender.c b/nx-X11/programs/Xserver/hw/nxagent/NXrender.c index 691b260cf..8937e2e7d 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXrender.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXrender.c @@ -995,6 +995,7 @@ ProcRenderCompositeGlyphs (ClientPtr client) { listsBase = (GlyphListPtr) malloc (nlist * sizeof (GlyphListRec)); if (!listsBase) + free(glyphsBase); return BadAlloc; } diff --git a/nx-X11/programs/Xserver/hw/nxagent/compext/Png.c b/nx-X11/programs/Xserver/hw/nxagent/compext/Png.c index 457080032..91412baa1 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/compext/Png.c +++ b/nx-X11/programs/Xserver/hw/nxagent/compext/Png.c @@ -283,6 +283,7 @@ char *PngCompressData(XImage *image, int *compressed_size) bitsPerPixel); #endif + free(image_index); return NULL; } @@ -315,6 +316,7 @@ char *PngCompressData(XImage *image, int *compressed_size) fprintf(stderr, "******PngCompressData: PANIC! Failed creating the png_create_write_struct.\n"); #endif + free(image_index); return NULL; } @@ -327,7 +329,7 @@ char *PngCompressData(XImage *image, int *compressed_size) #endif png_destroy_write_struct(&png_ptr, NULL); - + free(image_index); return NULL; } @@ -339,6 +341,7 @@ char *PngCompressData(XImage *image, int *compressed_size) png_destroy_write_struct(&png_ptr, &info_ptr); + free(image_index); return NULL; } @@ -360,6 +363,7 @@ char *PngCompressData(XImage *image, int *compressed_size) PNG_DEST_SIZE(w, h)); #endif + free(image_index); return NULL; } @@ -374,7 +378,6 @@ char *PngCompressData(XImage *image, int *compressed_size) png_destroy_write_struct(&png_ptr, &info_ptr); free(pngCompBuf); - return NULL; } @@ -470,7 +473,7 @@ char *PngCompressData(XImage *image, int *compressed_size) png_destroy_write_struct(&png_ptr, &info_ptr); free(pngCompBuf); - + free(image_index); return NULL; } @@ -484,7 +487,7 @@ char *PngCompressData(XImage *image, int *compressed_size) fprintf(stderr, "******PngCompressData: PANIC! Cannot allocate [%d] bytes.\n", (int) (w * sizeof(CARD8))); #endif - + free(image_index); return NULL; } @@ -516,7 +519,7 @@ char *PngCompressData(XImage *image, int *compressed_size) #endif free(pngCompBuf); - + free(image_index); return NULL; } -- cgit v1.2.3