xserver: Branch 'master' - 24 commits
Keith Packard
keithp at kemper.freedesktop.org
Mon Apr 4 14:09:52 PDT 2011
Xext/xtest.c | 5 +----
Xi/exevents.c | 8 ++++++--
Xi/getprop.c | 2 +-
Xi/getselev.c | 6 +++---
Xi/xiquerydevice.c | 4 +++-
dix/colormap.c | 2 ++
dix/dixfonts.c | 18 +++---------------
dix/extension.c | 5 ++---
fb/fboverlay.c | 8 ++++++--
fb/fbscreen.c | 4 ----
hw/xfree86/common/xf86Config.c | 32 +++++++++++++++++++++++---------
hw/xfree86/common/xf86Helper.c | 1 +
hw/xfree86/common/xf86Init.c | 4 +++-
hw/xfree86/dri2/dri2.c | 9 +++++++--
mi/micmap.c | 2 ++
mi/midispcur.c | 10 +---------
mi/mipointer.c | 1 -
mi/mispans.c | 2 ++
mi/mizerline.c | 6 ++++--
os/utils.c | 21 +++++++--------------
render/render.c | 25 ++++++++++++-------------
xfixes/region.c | 2 --
xkb/ddxList.c | 4 +++-
23 files changed, 92 insertions(+), 89 deletions(-)
New commits:
commit c9d89cec1407550cb2568f4cef146c93607bbae6
Merge: a52049d... bc61787...
Author: Keith Packard <keithp at keithp.com>
Date: Mon Apr 4 11:57:39 2011 -0700
Merge remote-tracking branch 'vignatti/for-keith'
commit bc61787a20e7683cbc4dfa45fe855da98a8c0cd0
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Tue Mar 29 18:22:50 2011 +0300
render: fix memory leaks in ProcRenderCompositeGlyphs
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
Reviewed-by: Soren Sandmann <ssp at redhat.com>
diff --git a/render/render.c b/render/render.c
index 8ff8ee6..c5da6d7 100644
--- a/render/render.c
+++ b/render/render.c
@@ -1372,8 +1372,10 @@ ProcRenderCompositeGlyphs (ClientPtr client)
else
{
listsBase = (GlyphListPtr) malloc(nlist * sizeof (GlyphListRec));
- if (!listsBase)
- return BadAlloc;
+ if (!listsBase) {
+ rc = BadAlloc;
+ goto bail;
+ }
}
buffer = (CARD8 *) (stuff + 1);
glyphs = glyphsBase;
@@ -1392,13 +1394,7 @@ ProcRenderCompositeGlyphs (ClientPtr client)
GlyphSetType, client,
DixUseAccess);
if (rc != Success)
- {
- if (glyphsBase != glyphsLocal)
- free(glyphsBase);
- if (listsBase != listsLocal)
- free(listsBase);
- return rc;
- }
+ goto bail;
}
buffer += 4;
}
@@ -1436,8 +1432,10 @@ ProcRenderCompositeGlyphs (ClientPtr client)
lists++;
}
}
- if (buffer > end)
- return BadLength;
+ if (buffer > end) {
+ rc = BadLength;
+ goto bail;
+ }
CompositeGlyphs (stuff->op,
pSrc,
@@ -1448,13 +1446,14 @@ ProcRenderCompositeGlyphs (ClientPtr client)
nlist,
listsBase,
glyphsBase);
+ rc = Success;
+bail:
if (glyphsBase != glyphsLocal)
free(glyphsBase);
if (listsBase != listsLocal)
free(listsBase);
-
- return Success;
+ return rc;
}
static int
commit 45b6667b651a0a26b17f64c9e99d70784045e4bf
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Tue Mar 29 17:17:40 2011 +0300
xkb: fix fd leak in XkbDDXListComponent
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
diff --git a/xkb/ddxList.c b/xkb/ddxList.c
index 9623cb6..3d301d8 100644
--- a/xkb/ddxList.c
+++ b/xkb/ddxList.c
@@ -222,8 +222,10 @@ char tmpname[PATH_MAX];
list->nFound[what]= 0;
free(buf);
buf = malloc(PATH_MAX * sizeof(char));
- if (!buf)
+ if (!buf) {
+ fclose(in);
return BadAlloc;
+ }
while ((status==Success)&&((tmp=fgets(buf,PATH_MAX,in))!=NULL)) {
unsigned flags;
register unsigned int i;
commit 0b288c8738a97cf6aa3f36aa5c05e7ac2a5cbca8
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Tue Mar 29 16:54:14 2011 +0300
dix: fix memory leak in ProcListExtensions
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
diff --git a/dix/extension.c b/dix/extension.c
index 6540b64..c7bbac5 100644
--- a/dix/extension.c
+++ b/dix/extension.c
@@ -353,9 +353,8 @@ ProcListExtensions(ClientPtr client)
}
WriteReplyToClient(client, sizeof(xListExtensionsReply), &reply);
if (reply.length)
- {
WriteToClient(client, total_length, buffer);
- free(buffer);
- }
+
+ free(buffer);
return Success;
}
commit 90e03ab026cd8ffdc6202e6b8bae119717ee8528
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Tue Mar 29 16:48:21 2011 +0300
mi: fix memory leak in miZeroLine
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
diff --git a/mi/mizerline.c b/mi/mizerline.c
index 07cfbe1..7077b51 100644
--- a/mi/mizerline.c
+++ b/mi/mizerline.c
@@ -157,9 +157,11 @@ miZeroLine(
list_len = (height >= width) ? height : width;
pspanInit = malloc(list_len * sizeof(DDXPointRec));
pwidthInit = malloc(list_len * sizeof(int));
- if (!pspanInit || !pwidthInit)
+ if (!pspanInit || !pwidthInit) {
+ free(pspanInit);
+ free(pwidthInit);
return;
-
+ }
Nspans = 0;
new_span = TRUE;
spans = pspanInit - 1;
commit daae5e5de194757f7084f9b2b24353c34b961f19
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Mon Mar 28 20:13:11 2011 +0300
xi: fix memory leak in AddExtensionClient
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
diff --git a/Xi/exevents.c b/Xi/exevents.c
index 5b207bc..18803c9 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -1607,14 +1607,18 @@ AddExtensionClient(WindowPtr pWin, ClientPtr client, Mask mask, int mskidx)
if (!others)
return BadAlloc;
if (!pWin->optional->inputMasks && !MakeInputMasks(pWin))
- return BadAlloc;
+ goto bail;
others->mask[mskidx] = mask;
others->resource = FakeClientID(client->index);
others->next = pWin->optional->inputMasks->inputClients;
pWin->optional->inputMasks->inputClients = others;
if (!AddResource(others->resource, RT_INPUTCLIENT, (pointer) pWin))
- return BadAlloc;
+ goto bail;
return Success;
+
+bail:
+ free(others);
+ return BadAlloc;
}
static Bool
commit c1875ac25b7b730d464c98c4c151c35efd64a562
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Mon Mar 28 20:09:04 2011 +0300
dix: fix memory leak in AllocShared
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
diff --git a/dix/colormap.c b/dix/colormap.c
index 188378b..0e1feb6 100644
--- a/dix/colormap.c
+++ b/dix/colormap.c
@@ -2105,6 +2105,7 @@ AllocShared (ColormapPtr pmap, Pixel *ppix, int c, int r, int g, int b,
{
for (z++ ; z < npixShared; z++)
free(ppshared[z]);
+ free(psharedList);
return FALSE;
}
}
commit 6e5020f46165862ff09211d5425c8b6a13966303
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Mon Mar 28 20:07:06 2011 +0300
dix: fix memory leak in AllocPseudo
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
diff --git a/dix/colormap.c b/dix/colormap.c
index 2e9a806..188378b 100644
--- a/dix/colormap.c
+++ b/dix/colormap.c
@@ -1879,6 +1879,7 @@ AllocPseudo (int client, ColormapPtr pmap, int c, int r, Bool contig,
{
for (p = ppixTemp; p < ppixTemp + npix; p++)
pmap->red[*p].refcnt = 0;
+ free(ppixTemp);
return BadAlloc;
}
pmap->clientPixelsRed[client] = ppix;
commit a6c71ce5d2d2fe89e07a2ef5041c915acc3dc686
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Mon Mar 28 19:21:28 2011 +0300
os: fix memory and fd leaks in Popen
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
diff --git a/os/utils.c b/os/utils.c
index f47177f..36cb46f 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -1315,6 +1315,9 @@ Popen(char *command, char *type)
/* Ignore the smart scheduler while this is going on */
old_alarm = OsSignal(SIGALRM, SIG_IGN);
if (old_alarm == SIG_ERR) {
+ close(pdes[0]);
+ close(pdes[1]);
+ free(cur);
perror("signal");
return NULL;
}
commit bafec9a25efa902bef2a3730dc44dc50f0e45877
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Mon Mar 28 19:19:57 2011 +0300
os: use DebugF for debugging
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
diff --git a/os/utils.c b/os/utils.c
index a365aca..f47177f 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -1256,10 +1256,7 @@ System(char *command)
perror("signal");
return -1;
}
-
-#ifdef DEBUG
- ErrorF("System: `%s'\n", command);
-#endif
+ DebugF("System: `%s'\n", command);
switch (pid = fork()) {
case -1: /* error */
@@ -1371,9 +1368,7 @@ Popen(char *command, char *type)
cur->next = pidlist;
pidlist = cur;
-#ifdef DEBUG
- ErrorF("Popen: `%s', fp = %p\n", command, iop);
-#endif
+ DebugF("Popen: `%s', fp = %p\n", command, iop);
return iop;
}
@@ -1448,9 +1443,7 @@ Fopen(char *file, char *type)
cur->next = pidlist;
pidlist = cur;
-#ifdef DEBUG
- ErrorF("Fopen(%s), fp = %p\n", file, iop);
-#endif
+ DebugF("Fopen(%s), fp = %p\n", file, iop);
return iop;
#else
@@ -1479,10 +1472,7 @@ Pclose(pointer iop)
int pstat;
int pid;
-#ifdef DEBUG
- ErrorF("Pclose: fp = %p\n", iop);
-#endif
-
+ DebugF("Pclose: fp = %p\n", iop);
fclose(iop);
for (last = NULL, cur = pidlist; cur; last = cur, cur = cur->next)
commit 719b37c33a89d6ad86c79097e5c67b9b3cea5aac
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Tue Mar 29 20:04:24 2011 +0300
xfree86: fix memory leak in xf86LoadModules
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index e664ce4..0b36163 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -1414,8 +1414,10 @@ xf86LoadModules(char **list, pointer *optlist)
name = xf86NormalizeName(list[i]);
/* Skip empty names */
- if (name == NULL || *name == '\0')
+ if (name == NULL || *name == '\0') {
+ free(name);
continue;
+ }
/* Replace obsolete keyboard driver with kbd */
if (!xf86NameCmp(name, "keyboard")) {
commit af054db005b48160b117dfd5bec5f821ee614ea9
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Tue Mar 29 19:51:23 2011 +0300
xfree86: fix bad free configInputDevices
introduced in 93ca526892c0d22afa05cce6496198c652043a19.
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Dan Nicholson <dbn.lists at gmail.com>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 7a23253..114bdc3 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -1459,8 +1459,9 @@ configInputDevices(XF86ConfLayoutPtr layout, serverLayoutPtr servlayoutp)
while (irp) {
indp[count] = xf86AllocateInput();
if (!configInput(indp[count], irp->iref_inputdev, X_CONFIG)) {
- while(count--)
+ do {
free(indp[count]);
+ } while(count--);
free(indp);
return FALSE;
}
commit ac2fac24d8baa56f369f4e54908bc00c2b73a60a
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Tue Mar 29 19:49:32 2011 +0300
xfree86: fix memory leaks in configLayout
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 4b897a1..7a23253 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -1485,7 +1485,7 @@ configLayout(serverLayoutPtr servlayoutp, XF86ConfLayoutPtr conf_layout,
{
XF86ConfAdjacencyPtr adjp;
XF86ConfInactivePtr idp;
- int count = 0;
+ int saved_count, count = 0;
int scrnum;
XF86ConfLayoutPtr l;
MessageType from;
@@ -1553,6 +1553,9 @@ configLayout(serverLayoutPtr servlayoutp, XF86ConfLayoutPtr conf_layout,
scrnum = adjp->adj_scrnum;
if (!configScreen(slp[count].screen, adjp->adj_screen, scrnum,
X_CONFIG)) {
+ do {
+ free(slp[count].screen);
+ } while(count--);
free(slp);
return FALSE;
}
@@ -1641,6 +1644,10 @@ configLayout(serverLayoutPtr servlayoutp, XF86ConfLayoutPtr conf_layout,
}
}
+ if (!count)
+ saved_count = 1;
+ else
+ saved_count = count;
/*
* Count the number of inactive devices.
*/
@@ -1657,16 +1664,14 @@ configLayout(serverLayoutPtr servlayoutp, XF86ConfLayoutPtr conf_layout,
idp = conf_layout->lay_inactive_lst;
count = 0;
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++;
idp = (XF86ConfInactivePtr)idp->list.next;
}
if (!configInputDevices(conf_layout, servlayoutp))
- return FALSE;
+ goto bail;
servlayoutp->id = conf_layout->lay_identifier;
servlayoutp->screens = slp;
@@ -1675,6 +1680,14 @@ configLayout(serverLayoutPtr servlayoutp, XF86ConfLayoutPtr conf_layout,
from = X_DEFAULT;
return TRUE;
+
+bail:
+ do {
+ free(slp[saved_count].screen);
+ } while(saved_count--);
+ free(slp);
+ free(gdp);
+ return FALSE;
}
/*
commit bc123319206930638ef1217922824d586d4ada6d
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Fri Mar 25 22:21:21 2011 +0200
xfree86: fix memory leak in xf86ConfigFbEntity
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
index 3998838..3cdffdb 100644
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
@@ -1831,6 +1831,7 @@ xf86ConfigFbEntity(ScrnInfoPtr pScrn, int scrnFlag, int entityIndex,
xf86SetEntityFuncs(entityIndex,init,enter,leave,private);
+ free(pEnt);
return pScrn;
}
commit 2aa935bc5cc1e2d5365a97b8c5bb3d33eb5fc758
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Fri Mar 25 22:10:55 2011 +0200
fb: fix memory leak in fbOverlayFinishScreenInit
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/fb/fboverlay.c b/fb/fboverlay.c
index 61eaaa3..255cc23 100644
--- a/fb/fboverlay.c
+++ b/fb/fboverlay.c
@@ -384,12 +384,16 @@ fbOverlayFinishScreenInit(ScreenPtr pScreen,
if (!fbInitVisuals (&visuals, &depths, &nvisuals, &ndepths, &depth1,
&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 */
#ifdef MITSHM
ShmRegisterFbFuncs(pScreen);
commit 4d87606a0d0eb63458098028c300c39c6f1bd2bf
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Fri Mar 25 22:07:44 2011 +0200
Xi: fix memory leak in ProcXGetSelectedExtensionEvents
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/Xi/getselev.c b/Xi/getselev.c
index 09a53f4..7304738 100644
--- a/Xi/getselev.c
+++ b/Xi/getselev.c
@@ -152,8 +152,8 @@ ProcXGetSelectedExtensionEvents(ClientPtr client)
if (total_length) {
client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
WriteSwappedDataToClient(client, total_length, buf);
- free(buf);
}
+ free(buf);
return Success;
}
commit 12e46e83733b47d2704e1509960192365102af46
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Fri Mar 25 22:07:31 2011 +0200
dix: fix memory leak in SetDefaultFontPath
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/dix/dixfonts.c b/dix/dixfonts.c
index 71689cf..fbac124 100644
--- a/dix/dixfonts.c
+++ b/dix/dixfonts.c
@@ -1815,8 +1815,10 @@ SetDefaultFontPath(char *path)
/* get enough for string, plus values -- use up commas */
len = strlen(temp_path) + 1;
nump = cp = newpath = malloc(len);
- if (!newpath)
+ if (!newpath) {
+ free(temp_path);
return BadAlloc;
+ }
pp = (unsigned char *) temp_path;
cp++;
while (*pp) {
commit 7ae46b69ba3f05f46529131e6a864904967cde3a
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Fri Mar 25 21:33:15 2011 +0200
mi: fix memory leak in miFillUniqueSpanGroup
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/mi/mispans.c b/mi/mispans.c
index 53539e5..21ba4da 100644
--- a/mi/mispans.c
+++ b/mi/mispans.c
@@ -458,6 +458,8 @@ void miFillUniqueSpanGroup(DrawablePtr pDraw, GCPtr pGC, SpanGroup *spanGroup)
}
free(yspans);
free(ysizes);
+ free(newpoints);
+ free(newwidths);
miDisposeSpanGroup (spanGroup);
return;
}
commit 623bb34342641811e2151232f1ab4e2ee3d6b871
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Fri Mar 25 19:27:17 2011 +0200
xi: fix memory leak in ProcXIQueryDevice
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/Xi/xiquerydevice.c b/Xi/xiquerydevice.c
index 8b54211..8b69904 100644
--- a/Xi/xiquerydevice.c
+++ b/Xi/xiquerydevice.c
@@ -107,8 +107,10 @@ ProcXIQueryDevice(ClientPtr client)
}
info = calloc(1, len);
- if (!info)
+ if (!info) {
+ free(skip);
return BadAlloc;
+ }
memset(&rep, 0, sizeof(xXIQueryDeviceReply));
rep.repType = X_Reply;
commit dce2f10cf7bef9929cefadb5088d5b66df43a865
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Fri Mar 25 19:21:03 2011 +0200
mi: fix memory leak in miInitVisuals
Free the pointers inside miInitVisuals, so the callers of this function
(fboverlay.c and fbscreen.c) don't need to worry with deallocation in the case
of failure.
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/fb/fbscreen.c b/fb/fbscreen.c
index fa518f6..9e6ecf5 100644
--- a/fb/fbscreen.c
+++ b/fb/fbscreen.c
@@ -221,11 +221,7 @@ fbFinishScreenInit(ScreenPtr pScreen,
rootdepth = 0;
if (!fbInitVisuals (&visuals, &depths, &nvisuals, &ndepths, &rootdepth,
&defaultVisual,((unsigned long)1<<(imagebpp-1)), 8))
- {
- free(visuals);
- free(depths);
return FALSE;
- }
if (! miScreenInit(pScreen, pbits, xsize, ysize, dpix, dpiy, width,
rootdepth, ndepths, depths,
defaultVisual, nvisuals, visuals))
diff --git a/mi/micmap.c b/mi/micmap.c
index 41e0300..7448ef8 100644
--- a/mi/micmap.c
+++ b/mi/micmap.c
@@ -564,6 +564,8 @@ miInitVisuals(VisualPtr *visualp, DepthPtr *depthp, int *nvisualp,
{
vid = malloc(nvtype * sizeof (VisualID));
if (!vid) {
+ free(depth);
+ free(visual);
free(preferredCVCs);
return FALSE;
}
commit 8ab92cd9822510f426d179a636ef34bb0ace3bb3
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Fri Mar 25 18:56:02 2011 +0200
xfree86: dri2: fix memory leak and free resources properly
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c
index 9ca378f..10be599 100644
--- a/hw/xfree86/dri2/dri2.c
+++ b/hw/xfree86/dri2/dri2.c
@@ -221,11 +221,16 @@ DRI2AddDrawableRef(DRI2DrawablePtr pPriv, XID id, XID dri2_id,
if (ref == NULL)
return BadAlloc;
- 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;
+ }
ref->id = id;
ref->dri2_id = dri2_id;
commit aa7096ca6f108e399d9916639cf20c57f9776305
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Fri Mar 25 18:24:34 2011 +0200
xorg: remove unused pointer values all over the server
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/Xext/xtest.c b/Xext/xtest.c
index b26bc33..6780aa6 100644
--- a/Xext/xtest.c
+++ b/Xext/xtest.c
@@ -374,10 +374,7 @@ ProcXTestFakeInput(ClientPtr client)
if (!dev->valuator)
return BadDevice;
- /* 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))
{
rc = dixLookupWindow(&root, ev->u.keyButtonPointer.root,
client, DixGetAttrAccess);
diff --git a/Xi/getprop.c b/Xi/getprop.c
index ba98fc8..5e10262 100644
--- a/Xi/getprop.c
+++ b/Xi/getprop.c
@@ -115,7 +115,7 @@ ProcXGetDeviceDontPropagateList(ClientPtr client)
if ((others = wOtherInputMasks(pWin)) != 0) {
for (i = 0; i < EMASKSIZE; i++)
- tbuf = ClassFromMask(NULL, others->dontPropagateMask[i], i,
+ ClassFromMask(NULL, others->dontPropagateMask[i], i,
&count, COUNT);
if (count) {
rep.count = count;
diff --git a/Xi/getselev.c b/Xi/getselev.c
index d63b661..09a53f4 100644
--- a/Xi/getselev.c
+++ b/Xi/getselev.c
@@ -118,13 +118,13 @@ ProcXGetSelectedExtensionEvents(ClientPtr client)
if ((pOthers = wOtherInputMasks(pWin)) != 0) {
for (others = pOthers->inputClients; others; others = others->next)
for (i = 0; i < EMASKSIZE; i++)
- tclient = ClassFromMask(NULL, others->mask[i], i,
+ ClassFromMask(NULL, others->mask[i], i,
&rep.all_clients_count, COUNT);
for (others = pOthers->inputClients; others; others = others->next)
if (SameClient(others, 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);
break;
}
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 5312ca6..4b897a1 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -309,7 +309,7 @@ xf86ModulelistFromConfig(pointer **optlist)
}
if (found == FALSE) {
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);
}
}
@@ -318,7 +318,7 @@ xf86ModulelistFromConfig(pointer **optlist)
for (i=0 ; ModuleDefaults[i].name != NULL ; i++) {
if (ModuleDefaults[i].toLoad == TRUE) {
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);
}
}
}
diff --git a/mi/midispcur.c b/mi/midispcur.c
index 9b3e87a..32c5c9d 100644
--- a/mi/midispcur.c
+++ b/mi/midispcur.c
@@ -397,7 +397,6 @@ Bool
miDCPutUpCursor (DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor,
int x, int y, unsigned long source, unsigned long mask)
{
- miDCScreenPtr pScreenPriv;
miDCCursorPtr pPriv;
miDCBufferPtr pBuffer;
WindowPtr pWin;
@@ -410,8 +409,7 @@ miDCPutUpCursor (DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor,
if (!pPriv)
return FALSE;
}
- pScreenPriv = (miDCScreenPtr)dixLookupPrivate(&pScreen->devPrivates,
- miDCScreenKey);
+
pWin = pScreen->root;
pBuffer = miGetDCDevice(pDev, pScreen);
@@ -444,14 +442,11 @@ Bool
miDCSaveUnderCursor (DeviceIntPtr pDev, ScreenPtr pScreen,
int x, int y, int w, int h)
{
- miDCScreenPtr pScreenPriv;
miDCBufferPtr pBuffer;
PixmapPtr pSave;
WindowPtr pWin;
GCPtr pGC;
- pScreenPriv = (miDCScreenPtr)dixLookupPrivate(&pScreen->devPrivates,
- miDCScreenKey);
pBuffer = miGetDCDevice(pDev, pScreen);
pSave = pBuffer->pSave;
@@ -478,14 +473,11 @@ Bool
miDCRestoreUnderCursor (DeviceIntPtr pDev, ScreenPtr pScreen,
int x, int y, int w, int h)
{
- miDCScreenPtr pScreenPriv;
miDCBufferPtr pBuffer;
PixmapPtr pSave;
WindowPtr pWin;
GCPtr pGC;
- pScreenPriv = (miDCScreenPtr)dixLookupPrivate(&pScreen->devPrivates,
- miDCScreenKey);
pBuffer = miGetDCDevice(pDev, pScreen);
pSave = pBuffer->pSave;
diff --git a/mi/mipointer.c b/mi/mipointer.c
index c578d0b..db24381 100644
--- a/mi/mipointer.c
+++ b/mi/mipointer.c
@@ -602,7 +602,6 @@ miPointerSetPosition(DeviceIntPtr pDev, int mode, int *x, int *y)
pScreen = newScreen;
(*pScreenPriv->screenFuncs->NewEventScreen) (pDev, pScreen,
FALSE);
- pScreenPriv = GetScreenPrivate (pScreen);
/* Smash the confine to the new screen */
pPointer->limits.x2 = pScreen->width;
pPointer->limits.y2 = pScreen->height;
diff --git a/xfixes/region.c b/xfixes/region.c
index 81ead4d..f493496 100644
--- a/xfixes/region.c
+++ b/xfixes/region.c
@@ -757,13 +757,11 @@ ProcXFixesSetPictureClipRegion (ClientPtr client)
PicturePtr pPicture;
RegionPtr pRegion;
ScreenPtr pScreen;
- PictureScreenPtr ps;
REQUEST(xXFixesSetPictureClipRegionReq);
REQUEST_SIZE_MATCH (xXFixesSetPictureClipRegionReq);
VERIFY_PICTURE(pPicture, stuff->picture, client, DixSetAttrAccess);
pScreen = pPicture->pDrawable->pScreen;
- ps = GetPictureScreen (pScreen);
VERIFY_REGION_OR_NONE(pRegion, stuff->region, client, DixReadAccess);
return SetPictureClipRegion (pPicture, stuff->xOrigin, stuff->yOrigin,
commit 49051355d47849b3dd73631e3e2287e319a7f4e5
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Wed Mar 23 18:08:29 2011 +0200
dix: remove unused macro
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/dix/dixfonts.c b/dix/dixfonts.c
index 316a8a5..71689cf 100644
--- a/dix/dixfonts.c
+++ b/dix/dixfonts.c
@@ -70,8 +70,6 @@ Equipment Corporation.
#include "xf86bigfontsrv.h"
#endif
-#define QUERYCHARINFO(pci, pr) *(pr) = (pci)->metrics
-
extern pointer fosNaturalParams;
extern FontPtr defaultFont;
commit f1a80e1268fa4d235a411a8cdf20b4f13eafcde0
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Wed Mar 23 18:06:51 2011 +0200
dix: remove unused debug code
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Mikhail Gusarov <dottedmag at dottedmag.net>
Reviewed-by: Nicolas Peninguy <nico at lostgeeks.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/dix/dixfonts.c b/dix/dixfonts.c
index d8f1529..316a8a5 100644
--- a/dix/dixfonts.c
+++ b/dix/dixfonts.c
@@ -66,10 +66,6 @@ Equipment Corporation.
#include "dixfont.h"
#include "xace.h"
-#ifdef DEBUG
-#include <stdio.h>
-#endif
-
#ifdef XF86BIGFONT
#include "xf86bigfontsrv.h"
#endif
@@ -391,14 +387,6 @@ OpenFont(ClientPtr client, XID fid, Mask flags, unsigned lenfname, char *pfontna
int i;
FontPtr cached = (FontPtr)0;
-#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)
return BadName;
if (patternCache)
More information about the xorg-commit
mailing list