diff options
author | Keith Packard <keithp@keithp.com> | 2011-04-04 11:57:39 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-04-04 11:57:39 -0700 |
commit | c9d89cec1407550cb2568f4cef146c93607bbae6 (patch) | |
tree | f304c31842697512b659b0fa364f7582309d5210 | |
parent | a52049de2f846fe984d4db5ac8d2c1826c7b2d0b (diff) | |
parent | bc61787a20e7683cbc4dfa45fe855da98a8c0cd0 (diff) |
Merge remote-tracking branch 'vignatti/for-keith'
-rw-r--r-- | Xext/xtest.c | 5 | ||||
-rw-r--r-- | Xi/exevents.c | 8 | ||||
-rw-r--r-- | Xi/getprop.c | 2 | ||||
-rw-r--r-- | Xi/getselev.c | 6 | ||||
-rw-r--r-- | Xi/xiquerydevice.c | 4 | ||||
-rw-r--r-- | dix/colormap.c | 2 | ||||
-rw-r--r-- | dix/dixfonts.c | 18 | ||||
-rw-r--r-- | dix/extension.c | 5 | ||||
-rw-r--r-- | fb/fboverlay.c | 8 | ||||
-rw-r--r-- | fb/fbscreen.c | 4 | ||||
-rw-r--r-- | hw/xfree86/common/xf86Config.c | 32 | ||||
-rw-r--r-- | hw/xfree86/common/xf86Helper.c | 1 | ||||
-rw-r--r-- | hw/xfree86/common/xf86Init.c | 4 | ||||
-rw-r--r-- | hw/xfree86/dri2/dri2.c | 9 | ||||
-rw-r--r-- | mi/micmap.c | 2 | ||||
-rw-r--r-- | mi/midispcur.c | 10 | ||||
-rw-r--r-- | mi/mipointer.c | 1 | ||||
-rw-r--r-- | mi/mispans.c | 2 | ||||
-rw-r--r-- | mi/mizerline.c | 6 | ||||
-rw-r--r-- | os/utils.c | 21 | ||||
-rw-r--r-- | render/render.c | 25 | ||||
-rw-r--r-- | xfixes/region.c | 2 | ||||
-rw-r--r-- | xkb/ddxList.c | 4 |
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)) { |