apple: Fix a use after free

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
This commit is contained in:
Jonas Maebe 2012-04-23 16:02:16 -07:00 committed by Jeremy Huddleston
parent 802ca81e26
commit c60ffd2840

View file

@ -206,6 +206,10 @@ apple_glx_surface_destroy(unsigned int uid)
if (d) {
d->types.surface.pending_destroy = true;
d->release(d);
/* apple_glx_drawable_find_by_uid returns a locked drawable */
d->unlock(d);
/*
* We release 2 references to the surface. One was acquired by
* the find, and the other was leftover from a context, or
@ -217,7 +221,5 @@ apple_glx_surface_destroy(unsigned int uid)
* by a glViewport callback (see apple_glx_context_update()).
*/
d->destroy(d);
d->unlock(d);
}
}