From 80e48ddcf6d5bdc1fc063f28b7af478dae330233 Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg Date: Thu, 9 Sep 2010 08:06:40 -0400 Subject: glx: Fix another use-after-free problem --- src/glx/glx_pbuffer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/glx') diff --git a/src/glx/glx_pbuffer.c b/src/glx/glx_pbuffer.c index d1cb66b87c..34892e8b1a 100644 --- a/src/glx/glx_pbuffer.c +++ b/src/glx/glx_pbuffer.c @@ -220,12 +220,14 @@ DestroyDRIDrawable(Display *dpy, GLXDrawable drawable, int destroy_xdrawable) { struct glx_display *const priv = __glXInitialize(dpy); __GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable); + XID xid; if (pdraw != NULL) { + xid = pdraw->xDrawable; (*pdraw->destroyDrawable) (pdraw); __glxHashDelete(priv->drawHash, drawable); if (destroy_xdrawable) - XFreePixmap(pdraw->psc->dpy, pdraw->xDrawable); + XFreePixmap(priv->dpy, xid); } } -- cgit v1.2.3