On Thu, May 22, 2014 at 16:54:10 -0700, Keith Packard wrote: > Frank Binns <[email protected]> writes: > > > From: Brendan King <[email protected]> > > > > Call FreePixmap() instead of free() to destroy the screen pixmap in > > fbCloseScreen(). > > > > Signed-off-by: Frank Binns <[email protected]> > > --- > > fb/fbscreen.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/fb/fbscreen.c b/fb/fbscreen.c > > index b2b9739..1f91089 100644 > > --- a/fb/fbscreen.c > > +++ b/fb/fbscreen.c > > @@ -37,7 +37,7 @@ fbCloseScreen(ScreenPtr pScreen) > > free(depths[d].vids); > > free(depths); > > free(pScreen->visuals); > > - free(pScreen->devPrivate); > > + FreePixmap((PixmapPtr)pScreen->devPrivate); > > return TRUE; > > } > > This fixes the devPrivates counts and nothing else, so we'll reduce the > warnings on recycle. > > Reviewed-by: Keith Packard <[email protected]> > This breaks Xvfb: https://bugs.freedesktop.org/show_bug.cgi?id=80313
pScreen->devPrivate is NULL, so we crash trying to dereference it in FreePixmap(), whereas the free() was a no-op. Cheers, Julien _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
