diff options
author | Mario Trangoni <mjtrangoni@gmail.com> | 2018-03-25 16:13:10 +0200 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2018-07-03 16:40:06 +0200 |
commit | 913fcf1a74426725f14380dd5b34286a21c37ab7 (patch) | |
tree | 70892161161325931ae5f1b444b277a4d9f0379d /nx-X11/programs/Xserver | |
parent | c58cbc26cc2a04fa06d22333ffe7ad52f7ede1fa (diff) | |
download | nx-libs-913fcf1a74426725f14380dd5b34286a21c37ab7.tar.gz nx-libs-913fcf1a74426725f14380dd5b34286a21c37ab7.tar.bz2 nx-libs-913fcf1a74426725f14380dd5b34286a21c37ab7.zip |
Fix some memory leaks.
Diffstat (limited to 'nx-X11/programs/Xserver')
-rw-r--r-- | nx-X11/programs/Xserver/Xi/exevents.c | 1 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/dix/cursor.c | 1 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/NXmiexpose.c | 6 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/NXrender.c | 1 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/compext/Png.c | 13 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/mi/miexpose.c | 4 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/mi/mizerline.c | 4 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/render/render.c | 19 |
8 files changed, 28 insertions, 21 deletions
diff --git a/nx-X11/programs/Xserver/Xi/exevents.c b/nx-X11/programs/Xserver/Xi/exevents.c index 92b9f08ec..1991d1b29 100644 --- a/nx-X11/programs/Xserver/Xi/exevents.c +++ b/nx-X11/programs/Xserver/Xi/exevents.c @@ -656,6 +656,7 @@ AddExtensionClient(WindowPtr pWin, ClientPtr client, Mask mask, int mskidx) if (!others) return BadAlloc; if (!pWin->optional->inputMasks && !MakeInputMasks(pWin)) + free(others); return BadAlloc; bzero((char *)&others->mask[0], sizeof(Mask) * EMASKSIZE); others->mask[mskidx] = mask; diff --git a/nx-X11/programs/Xserver/dix/cursor.c b/nx-X11/programs/Xserver/dix/cursor.c index a1bf6a7ed..658edcb87 100644 --- a/nx-X11/programs/Xserver/dix/cursor.c +++ b/nx-X11/programs/Xserver/dix/cursor.c @@ -371,6 +371,7 @@ AllocGlyphCursor(Font source, unsigned sourceChar, Font mask, unsigned maskChar, if (!pShare) { FreeCursorBits(bits); + free(pCurs); return BadAlloc; } pShare->font = sourcefont; 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; } diff --git a/nx-X11/programs/Xserver/mi/miexpose.c b/nx-X11/programs/Xserver/mi/miexpose.c index db7fdf010..a302bf578 100644 --- a/nx-X11/programs/Xserver/mi/miexpose.c +++ b/nx-X11/programs/Xserver/mi/miexpose.c @@ -766,11 +766,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; + free(prect); + return; } pGC = screenContext[i]; newValues[SUBWINDOW].val = IncludeInferiors; diff --git a/nx-X11/programs/Xserver/mi/mizerline.c b/nx-X11/programs/Xserver/mi/mizerline.c index 49d87edd8..c68e2c9a3 100644 --- a/nx-X11/programs/Xserver/mi/mizerline.c +++ b/nx-X11/programs/Xserver/mi/mizerline.c @@ -158,7 +158,9 @@ miZeroLine(pDraw, pGC, mode, npt, pptInit) pspanInit = (DDXPointPtr)malloc(list_len * sizeof(DDXPointRec)); pwidthInit = (int *)malloc(list_len * sizeof(int)); if (!pspanInit || !pwidthInit) - return; + free(pspanInit); + free(pwidthInit); + return; Nspans = 0; new_span = TRUE; diff --git a/nx-X11/programs/Xserver/render/render.c b/nx-X11/programs/Xserver/render/render.c index fb9208ad1..65ca41881 100644 --- a/nx-X11/programs/Xserver/render/render.c +++ b/nx-X11/programs/Xserver/render/render.c @@ -1346,6 +1346,8 @@ ProcRenderCompositeGlyphs (ClientPtr client) { listsBase = (GlyphListPtr) malloc (nlist * sizeof (GlyphListRec)); if (!listsBase) + free(glyphsBase); + free(listsBase); return BadAlloc; } buffer = (CARD8 *) (stuff + 1); @@ -2918,9 +2920,7 @@ PanoramiXRenderFillRectangles (ClientPtr client) result = (*PanoramiXSaveRenderVector[X_RenderFillRectangles]) (client); if(result != Success) break; } - free(extra); } - return result; } @@ -2979,10 +2979,9 @@ PanoramiXRenderTrapezoids(ClientPtr client) if(result != Success) break; } - - free(extra); } + free(extra); return result; } @@ -3038,9 +3037,8 @@ PanoramiXRenderTriangles(ClientPtr client) if(result != Success) break; } - free(extra); } - + free(extra); return result; } @@ -3092,9 +3090,8 @@ PanoramiXRenderTriStrip(ClientPtr client) if(result != Success) break; } - free(extra); } - + free(extra); return result; } @@ -3146,9 +3143,8 @@ PanoramiXRenderTriFan(ClientPtr client) if(result != Success) break; } - free(extra); } - + free(extra); return result; } @@ -3276,9 +3272,8 @@ PanoramiXRenderAddTraps (ClientPtr client) result = (*PanoramiXSaveRenderVector[X_RenderAddTraps]) (client); if(result != Success) break; } - free(extra); } - + free(extra); return result; } |