summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWuZhen <wuzhen@jidemail.com>2016-01-16 22:53:29 +0800
committerMauro Rossi <issor.oruam@gmail.com>2016-11-01 20:41:59 +0100
commit34763549cd7de147951744d9f389b4ed5c6d686e (patch)
tree800394c981a3395d05bfe1d0696fc5bd3cec5a75
parentd3cc8f6705025d34c7519847c01b41261fff3de1 (diff)
downloadexternal_mesa3d-34763549cd7de147951744d9f389b4ed5c6d686e.zip
external_mesa3d-34763549cd7de147951744d9f389b4ed5c6d686e.tar.gz
external_mesa3d-34763549cd7de147951744d9f389b4ed5c6d686e.tar.bz2
st/dri: fix double free of dri_drawable
In the callchain destroy_surface->destroyDrawable->dri_put_drawable-> dri_put_drawable->DestroyBuffer By the semantic of it, dri_destroy_buffer should not free drawable struct, all vendor specific and legacy swrast version of the function do not. wonder why no body else ran into this. NO_REF_TASK Tested: local run Change-Id: Ibe82d82d2e34b162e64bf0b8805f8a4553d362d5 Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
-rw-r--r--src/gallium/state_trackers/dri/dri_drawable.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/src/gallium/state_trackers/dri/dri_drawable.c b/src/gallium/state_trackers/dri/dri_drawable.c
index edcd0e6..474c331 100644
--- a/src/gallium/state_trackers/dri/dri_drawable.c
+++ b/src/gallium/state_trackers/dri/dri_drawable.c
@@ -176,8 +176,6 @@ dri_destroy_buffer(__DRIdrawable * dPriv)
pipe_resource_reference(&drawable->msaa_textures[i], NULL);
swap_fences_unref(drawable);
-
- FREE(drawable);
}
/**