aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver
diff options
context:
space:
mode:
authorMario Trangoni <mjtrangoni@gmail.com>2018-03-25 16:13:10 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2018-07-03 16:40:06 +0200
commit913fcf1a74426725f14380dd5b34286a21c37ab7 (patch)
tree70892161161325931ae5f1b444b277a4d9f0379d /nx-X11/programs/Xserver
parentc58cbc26cc2a04fa06d22333ffe7ad52f7ede1fa (diff)
downloadnx-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.c1
-rw-r--r--nx-X11/programs/Xserver/dix/cursor.c1
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/NXmiexpose.c6
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/NXrender.c1
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/compext/Png.c13
-rw-r--r--nx-X11/programs/Xserver/mi/miexpose.c4
-rw-r--r--nx-X11/programs/Xserver/mi/mizerline.c4
-rw-r--r--nx-X11/programs/Xserver/render/render.c19
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;
}