xserver: Branch 'master'
Keith Packard
keithp at kemper.freedesktop.org
Wed Nov 4 08:26:34 PST 2009
dix/cursor.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
New commits:
commit 0573042cddb6f9942e408687a16c6842e62a8bfa
Author: Rami Ylimaki <ext-rami.ylimaki at nokia.com>
Date: Wed Nov 4 15:59:30 2009 +0200
dix: Fixes a memory leak when a cursor resource is released.
Just open and close a client that creates cursors in order to
reproduce. In the problem case bits->refcnt is -1 and therefore
bits->devPrivates is never released.
Signed-off-by: Rami Ylimaki <ext-rami.ylimaki at nokia.com>
Signed-off-by: Keith Packard <keithp at keithp.com>
diff --git a/dix/cursor.c b/dix/cursor.c
index 086d008..6103b15 100644
--- a/dix/cursor.c
+++ b/dix/cursor.c
@@ -86,6 +86,8 @@ FreeCursorBits(CursorBitsPtr bits)
#ifdef ARGB_CURSOR
xfree(bits->argb);
#endif
+ dixFreePrivates(bits->devPrivates);
+ bits->devPrivates = NULL;
if (bits->refcnt == 0)
{
GlyphSharePtr *prev, this;
@@ -100,7 +102,6 @@ FreeCursorBits(CursorBitsPtr bits)
CloseFont(this->font, (Font)0);
xfree(this);
}
- dixFreePrivates(bits->devPrivates);
xfree(bits);
}
}
More information about the xorg-commit
mailing list