summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2011-04-04 11:57:39 -0700
committerKeith Packard <keithp@keithp.com>2011-04-04 11:57:39 -0700
commitc9d89cec1407550cb2568f4cef146c93607bbae6 (patch)
treef304c31842697512b659b0fa364f7582309d5210
parenta52049de2f846fe984d4db5ac8d2c1826c7b2d0b (diff)
parentbc61787a20e7683cbc4dfa45fe855da98a8c0cd0 (diff)
Merge remote-tracking branch 'vignatti/for-keith'
-rw-r--r--Xext/xtest.c5
-rw-r--r--Xi/exevents.c8
-rw-r--r--Xi/getprop.c2
-rw-r--r--Xi/getselev.c6
-rw-r--r--Xi/xiquerydevice.c4
-rw-r--r--dix/colormap.c2
-rw-r--r--dix/dixfonts.c18
-rw-r--r--dix/extension.c5
-rw-r--r--fb/fboverlay.c8
-rw-r--r--fb/fbscreen.c4
-rw-r--r--hw/xfree86/common/xf86Config.c32
-rw-r--r--hw/xfree86/common/xf86Helper.c1
-rw-r--r--hw/xfree86/common/xf86Init.c4
-rw-r--r--hw/xfree86/dri2/dri2.c9
-rw-r--r--mi/micmap.c2
-rw-r--r--mi/midispcur.c10
-rw-r--r--mi/mipointer.c1
-rw-r--r--mi/mispans.c2
-rw-r--r--mi/mizerline.c6
-rw-r--r--os/utils.c21
-rw-r--r--render/render.c25
-rw-r--r--xfixes/region.c2
-rw-r--r--xkb/ddxList.c4
23 files changed, 92 insertions, 89 deletions
diff --git a/Xext/xtest.c b/Xext/xtest.c
index b26bc3387..6780aa62a 100644
--- a/Xext/xtest.c
+++ b/Xext/xtest.c
@@ -376,6 +376,3 @@ ProcXTestFakeInput(ClientPtr client)
- /* broken lib, XI events have root uninitialized */
- if (extension || ev->u.keyButtonPointer.root == None)
- root = GetCurrentRootWindow(dev);
- else
+ if (!(extension || ev->u.keyButtonPointer.root == None))
{
diff --git a/Xi/exevents.c b/Xi/exevents.c
index 5b207bc4b..18803c95e 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -1609,3 +1609,3 @@ AddExtensionClient(WindowPtr pWin, ClientPtr client, Mask mask, int mskidx)
if (!pWin->optional->inputMasks && !MakeInputMasks(pWin))
- return BadAlloc;
+ goto bail;
others->mask[mskidx] = mask;
@@ -1615,4 +1615,8 @@ AddExtensionClient(WindowPtr pWin, ClientPtr client, Mask mask, int mskidx)
if (!AddResource(others->resource, RT_INPUTCLIENT, (pointer) pWin))
- return BadAlloc;
+ goto bail;
return Success;
+
+bail:
+ free(others);
+ return BadAlloc;
}
diff --git a/Xi/getprop.c b/Xi/getprop.c
index ba98fc80f..5e102627d 100644
--- a/Xi/getprop.c
+++ b/Xi/getprop.c
@@ -117,3 +117,3 @@ ProcXGetDeviceDontPropagateList(ClientPtr client)
for (i = 0; i < EMASKSIZE; i++)
- tbuf = ClassFromMask(NULL, others->dontPropagateMask[i], i,
+ ClassFromMask(NULL, others->dontPropagateMask[i], i,
&count, COUNT);
diff --git a/Xi/getselev.c b/Xi/getselev.c
index d63b661cd..7304738b3 100644
--- a/Xi/getselev.c
+++ b/Xi/getselev.c
@@ -120,3 +120,3 @@ ProcXGetSelectedExtensionEvents(ClientPtr client)
for (i = 0; i < EMASKSIZE; i++)
- tclient = ClassFromMask(NULL, others->mask[i], i,
+ ClassFromMask(NULL, others->mask[i], i,
&rep.all_clients_count, COUNT);
@@ -126,3 +126,3 @@ ProcXGetSelectedExtensionEvents(ClientPtr client)
for (i = 0; i < EMASKSIZE; i++)
- tclient = ClassFromMask(NULL, others->mask[i], i,
+ ClassFromMask(NULL, others->mask[i], i,
&rep.this_client_count, COUNT);
@@ -154,4 +154,4 @@ ProcXGetSelectedExtensionEvents(ClientPtr client)
WriteSwappedDataToClient(client, total_length, buf);
- free(buf);
}
+ free(buf);
return Success;
diff --git a/Xi/xiquerydevice.c b/Xi/xiquerydevice.c
index 6eea72410..a768d499c 100644
--- a/Xi/xiquerydevice.c
+++ b/Xi/xiquerydevice.c
@@ -109,4 +109,6 @@ ProcXIQueryDevice(ClientPtr client)
info = calloc(1, len);
- if (!info)
+ if (!info) {
+ free(skip);
return BadAlloc;
+ }
diff --git a/dix/colormap.c b/dix/colormap.c
index 2e9a80647..0e1feb6c4 100644
--- a/dix/colormap.c
+++ b/dix/colormap.c
@@ -1881,2 +1881,3 @@ AllocPseudo (int client, ColormapPtr pmap, int c, int r, Bool contig,
pmap->red[*p].refcnt = 0;
+ free(ppixTemp);
return BadAlloc;
@@ -2106,2 +2107,3 @@ AllocShared (ColormapPtr pmap, Pixel *ppix, int c, int r, int g, int b,
free(ppshared[z]);
+ free(psharedList);
return FALSE;
diff --git a/dix/dixfonts.c b/dix/dixfonts.c
index d8f15290b..fbac124da 100644
--- a/dix/dixfonts.c
+++ b/dix/dixfonts.c
@@ -68,6 +68,2 @@ Equipment Corporation.
-#ifdef DEBUG
-#include <stdio.h>
-#endif
-
#ifdef XF86BIGFONT
@@ -76,4 +72,2 @@ Equipment Corporation.
-#define QUERYCHARINFO(pci, pr) *(pr) = (pci)->metrics
-
extern pointer fosNaturalParams;
@@ -393,10 +387,2 @@ OpenFont(ClientPtr client, XID fid, Mask flags, unsigned lenfname, char *pfontna
-#ifdef FONTDEBUG
- char *f;
- f = malloc(lenfname + 1);
- memmove(f, pfontname, lenfname);
- f[lenfname] = '\0';
- ErrorF("[dix] OpenFont: fontname is \"%s\"\n", f);
- free(f);
-#endif
if (!lenfname || lenfname > XLFDMAXFONTNAMELEN)
@@ -1831,4 +1817,6 @@ SetDefaultFontPath(char *path)
nump = cp = newpath = malloc(len);
- if (!newpath)
+ if (!newpath) {
+ free(temp_path);
return BadAlloc;
+ }
pp = (unsigned char *) temp_path;
diff --git a/dix/extension.c b/dix/extension.c
index 6540b64b0..c7bbac5ff 100644
--- a/dix/extension.c
+++ b/dix/extension.c
@@ -355,6 +355,5 @@ ProcListExtensions(ClientPtr client)
if (reply.length)
- {
WriteToClient(client, total_length, buffer);
- free(buffer);
- }
+
+ free(buffer);
return Success;
diff --git a/fb/fboverlay.c b/fb/fboverlay.c
index 61eaaa3f9..255cc23c1 100644
--- a/fb/fboverlay.c
+++ b/fb/fboverlay.c
@@ -386,8 +386,12 @@ fbOverlayFinishScreenInit(ScreenPtr pScreen,
&defaultVisual, ((unsigned long)1<<(bpp1-1)) |
- ((unsigned long)1<<(bpp2-1)), 8))
+ ((unsigned long)1<<(bpp2-1)), 8)) {
+ free(pScrPriv);
return FALSE;
+ }
if (! miScreenInit(pScreen, 0, xsize, ysize, dpix, dpiy, 0,
depth1, ndepths, depths,
- defaultVisual, nvisuals, visuals))
+ defaultVisual, nvisuals, visuals)) {
+ free(pScrPriv);
return FALSE;
+ }
/* MI thinks there's no frame buffer */
diff --git a/fb/fbscreen.c b/fb/fbscreen.c
index fa518f64a..9e6ecf50f 100644
--- a/fb/fbscreen.c
+++ b/fb/fbscreen.c
@@ -223,7 +223,3 @@ fbFinishScreenInit(ScreenPtr pScreen,
&defaultVisual,((unsigned long)1<<(imagebpp-1)), 8))
- {
- free(visuals);
- free(depths);
return FALSE;
- }
if (! miScreenInit(pScreen, pbits, xsize, ysize, dpix, dpiy, width,
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 5312ca60d..114bdc3a3 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -311,3 +311,3 @@ xf86ModulelistFromConfig(pointer **optlist)
XF86LoadPtr ptr = (XF86LoadPtr)xf86configptr->conf_modules;
- ptr = xf86addNewLoadDirective(ptr, ModuleDefaults[i].name, XF86_LOAD_MODULE, ModuleDefaults[i].load_opt);
+ xf86addNewLoadDirective(ptr, ModuleDefaults[i].name, XF86_LOAD_MODULE, ModuleDefaults[i].load_opt);
xf86Msg(X_INFO, "\"%s\" will be loaded by default.\n", ModuleDefaults[i].name);
@@ -320,3 +320,3 @@ xf86ModulelistFromConfig(pointer **optlist)
XF86LoadPtr ptr = (XF86LoadPtr)xf86configptr->conf_modules;
- ptr = xf86addNewLoadDirective(ptr, ModuleDefaults[i].name, XF86_LOAD_MODULE, ModuleDefaults[i].load_opt);
+ xf86addNewLoadDirective(ptr, ModuleDefaults[i].name, XF86_LOAD_MODULE, ModuleDefaults[i].load_opt);
}
@@ -1461,4 +1461,5 @@ configInputDevices(XF86ConfLayoutPtr layout, serverLayoutPtr servlayoutp)
if (!configInput(indp[count], irp->iref_inputdev, X_CONFIG)) {
- while(count--)
+ do {
free(indp[count]);
+ } while(count--);
free(indp);
@@ -1487,3 +1488,3 @@ configLayout(serverLayoutPtr servlayoutp, XF86ConfLayoutPtr conf_layout,
XF86ConfInactivePtr idp;
- int count = 0;
+ int saved_count, count = 0;
int scrnum;
@@ -1555,2 +1556,5 @@ configLayout(serverLayoutPtr servlayoutp, XF86ConfLayoutPtr conf_layout,
X_CONFIG)) {
+ do {
+ free(slp[count].screen);
+ } while(count--);
free(slp);
@@ -1643,2 +1647,6 @@ configLayout(serverLayoutPtr servlayoutp, XF86ConfLayoutPtr conf_layout,
+ if (!count)
+ saved_count = 1;
+ else
+ saved_count = count;
/*
@@ -1659,6 +1667,4 @@ configLayout(serverLayoutPtr servlayoutp, XF86ConfLayoutPtr conf_layout,
while (idp) {
- if (!configDevice(&gdp[count], idp->inactive_device, FALSE)) {
- free(gdp);
- return FALSE;
- }
+ if (!configDevice(&gdp[count], idp->inactive_device, FALSE))
+ goto bail;
count++;
@@ -1668,3 +1674,3 @@ configLayout(serverLayoutPtr servlayoutp, XF86ConfLayoutPtr conf_layout,
if (!configInputDevices(conf_layout, servlayoutp))
- return FALSE;
+ goto bail;
@@ -1677,2 +1683,10 @@ configLayout(serverLayoutPtr servlayoutp, XF86ConfLayoutPtr conf_layout,
return TRUE;
+
+bail:
+ do {
+ free(slp[saved_count].screen);
+ } while(saved_count--);
+ free(slp);
+ free(gdp);
+ return FALSE;
}
diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
index 399883886..3cdffdb43 100644
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
@@ -1833,2 +1833,3 @@ xf86ConfigFbEntity(ScrnInfoPtr pScrn, int scrnFlag, int entityIndex,
+ free(pEnt);
return pScrn;
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index e664ce451..0b36163c0 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -1416,4 +1416,6 @@ xf86LoadModules(char **list, pointer *optlist)
/* Skip empty names */
- if (name == NULL || *name == '\0')
+ if (name == NULL || *name == '\0') {
+ free(name);
continue;
+ }
diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c
index 9ca378fed..10be59953 100644
--- a/hw/xfree86/dri2/dri2.c
+++ b/hw/xfree86/dri2/dri2.c
@@ -223,7 +223,12 @@ DRI2AddDrawableRef(DRI2DrawablePtr pPriv, XID id, XID dri2_id,
- if (!AddResource(dri2_id, dri2DrawableRes, pPriv))
+ if (!AddResource(dri2_id, dri2DrawableRes, pPriv)) {
+ free(ref);
return BadAlloc;
+ }
if (!DRI2LookupDrawableRef(pPriv, id))
- if (!AddResource(id, dri2DrawableRes, pPriv))
+ if (!AddResource(id, dri2DrawableRes, pPriv)) {
+ FreeResourceByType(dri2_id, dri2DrawableRes, TRUE);
+ free(ref);
return BadAlloc;
+ }
diff --git a/mi/micmap.c b/mi/micmap.c
index 41e03006e..7448ef8fd 100644
--- a/mi/micmap.c
+++ b/mi/micmap.c
@@ -566,2 +566,4 @@ miInitVisuals(VisualPtr *visualp, DepthPtr *depthp, int *nvisualp,
if (!vid) {
+ free(depth);
+ free(visual);
free(preferredCVCs);
diff --git a/mi/midispcur.c b/mi/midispcur.c
index 9b3e87a57..32c5c9df6 100644
--- a/mi/midispcur.c
+++ b/mi/midispcur.c
@@ -399,3 +399,2 @@ miDCPutUpCursor (DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor,
{
- miDCScreenPtr pScreenPriv;
miDCCursorPtr pPriv;
@@ -412,4 +411,3 @@ miDCPutUpCursor (DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor,
}
- pScreenPriv = (miDCScreenPtr)dixLookupPrivate(&pScreen->devPrivates,
- miDCScreenKey);
+
pWin = pScreen->root;
@@ -446,3 +444,2 @@ miDCSaveUnderCursor (DeviceIntPtr pDev, ScreenPtr pScreen,
{
- miDCScreenPtr pScreenPriv;
miDCBufferPtr pBuffer;
@@ -452,4 +449,2 @@ miDCSaveUnderCursor (DeviceIntPtr pDev, ScreenPtr pScreen,
- pScreenPriv = (miDCScreenPtr)dixLookupPrivate(&pScreen->devPrivates,
- miDCScreenKey);
pBuffer = miGetDCDevice(pDev, pScreen);
@@ -480,3 +475,2 @@ miDCRestoreUnderCursor (DeviceIntPtr pDev, ScreenPtr pScreen,
{
- miDCScreenPtr pScreenPriv;
miDCBufferPtr pBuffer;
@@ -486,4 +480,2 @@ miDCRestoreUnderCursor (DeviceIntPtr pDev, ScreenPtr pScreen,
- pScreenPriv = (miDCScreenPtr)dixLookupPrivate(&pScreen->devPrivates,
- miDCScreenKey);
pBuffer = miGetDCDevice(pDev, pScreen);
diff --git a/mi/mipointer.c b/mi/mipointer.c
index c578d0b1d..db243810c 100644
--- a/mi/mipointer.c
+++ b/mi/mipointer.c
@@ -604,3 +604,2 @@ miPointerSetPosition(DeviceIntPtr pDev, int mode, int *x, int *y)
FALSE);
- pScreenPriv = GetScreenPrivate (pScreen);
/* Smash the confine to the new screen */
diff --git a/mi/mispans.c b/mi/mispans.c
index 53539e515..21ba4da4f 100644
--- a/mi/mispans.c
+++ b/mi/mispans.c
@@ -460,2 +460,4 @@ void miFillUniqueSpanGroup(DrawablePtr pDraw, GCPtr pGC, SpanGroup *spanGroup)
free(ysizes);
+ free(newpoints);
+ free(newwidths);
miDisposeSpanGroup (spanGroup);
diff --git a/mi/mizerline.c b/mi/mizerline.c
index 07cfbe113..7077b5198 100644
--- a/mi/mizerline.c
+++ b/mi/mizerline.c
@@ -159,5 +159,7 @@ miZeroLine(
pwidthInit = malloc(list_len * sizeof(int));
- if (!pspanInit || !pwidthInit)
+ if (!pspanInit || !pwidthInit) {
+ free(pspanInit);
+ free(pwidthInit);
return;
-
+ }
Nspans = 0;
diff --git a/os/utils.c b/os/utils.c
index a365aca81..36cb46f11 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -1258,6 +1258,3 @@ System(char *command)
}
-
-#ifdef DEBUG
- ErrorF("System: `%s'\n", command);
-#endif
+ DebugF("System: `%s'\n", command);
@@ -1320,2 +1317,5 @@ Popen(char *command, char *type)
if (old_alarm == SIG_ERR) {
+ close(pdes[0]);
+ close(pdes[1]);
+ free(cur);
perror("signal");
@@ -1373,5 +1373,3 @@ Popen(char *command, char *type)
-#ifdef DEBUG
- ErrorF("Popen: `%s', fp = %p\n", command, iop);
-#endif
+ DebugF("Popen: `%s', fp = %p\n", command, iop);
@@ -1450,5 +1448,3 @@ Fopen(char *file, char *type)
-#ifdef DEBUG
- ErrorF("Fopen(%s), fp = %p\n", file, iop);
-#endif
+ DebugF("Fopen(%s), fp = %p\n", file, iop);
@@ -1481,6 +1477,3 @@ Pclose(pointer iop)
-#ifdef DEBUG
- ErrorF("Pclose: fp = %p\n", iop);
-#endif
-
+ DebugF("Pclose: fp = %p\n", iop);
fclose(iop);
diff --git a/render/render.c b/render/render.c
index 8ff8ee6f6..c5da6d78f 100644
--- a/render/render.c
+++ b/render/render.c
@@ -1374,4 +1374,6 @@ ProcRenderCompositeGlyphs (ClientPtr client)
listsBase = (GlyphListPtr) malloc(nlist * sizeof (GlyphListRec));
- if (!listsBase)
- return BadAlloc;
+ if (!listsBase) {
+ rc = BadAlloc;
+ goto bail;
+ }
}
@@ -1394,9 +1396,3 @@ ProcRenderCompositeGlyphs (ClientPtr client)
if (rc != Success)
- {
- if (glyphsBase != glyphsLocal)
- free(glyphsBase);
- if (listsBase != listsLocal)
- free(listsBase);
- return rc;
- }
+ goto bail;
}
@@ -1438,4 +1434,6 @@ ProcRenderCompositeGlyphs (ClientPtr client)
}
- if (buffer > end)
- return BadLength;
+ if (buffer > end) {
+ rc = BadLength;
+ goto bail;
+ }
@@ -1450,3 +1448,5 @@ ProcRenderCompositeGlyphs (ClientPtr client)
glyphsBase);
+ rc = Success;
+bail:
if (glyphsBase != glyphsLocal)
@@ -1455,4 +1455,3 @@ ProcRenderCompositeGlyphs (ClientPtr client)
free(listsBase);
-
- return Success;
+ return rc;
}
diff --git a/xfixes/region.c b/xfixes/region.c
index 81ead4d1c..f49349629 100644
--- a/xfixes/region.c
+++ b/xfixes/region.c
@@ -759,3 +759,2 @@ ProcXFixesSetPictureClipRegion (ClientPtr client)
ScreenPtr pScreen;
- PictureScreenPtr ps;
REQUEST(xXFixesSetPictureClipRegionReq);
@@ -765,3 +764,2 @@ ProcXFixesSetPictureClipRegion (ClientPtr client)
pScreen = pPicture->pDrawable->pScreen;
- ps = GetPictureScreen (pScreen);
VERIFY_REGION_OR_NONE(pRegion, stuff->region, client, DixReadAccess);
diff --git a/xkb/ddxList.c b/xkb/ddxList.c
index 9623cb6aa..3d301d88e 100644
--- a/xkb/ddxList.c
+++ b/xkb/ddxList.c
@@ -224,4 +224,6 @@ char tmpname[PATH_MAX];
buf = malloc(PATH_MAX * sizeof(char));
- if (!buf)
+ if (!buf) {
+ fclose(in);
return BadAlloc;
+ }
while ((status==Success)&&((tmp=fgets(buf,PATH_MAX,in))!=NULL)) {