summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaihao Xiang <haihao.xiang@intel.com>2018-03-12 11:54:17 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2018-03-13 09:04:39 +0800
commitc2bf6885137dd391a62e922a555636aefd2aaaa4 (patch)
tree4a7edadc7d30c0f68e696e790696ce49d40be1f2
parent95aa89b80c0a209bf8be1f7e307e4ca210ef4cf0 (diff)
downloadlibva-c2bf6885137dd391a62e922a555636aefd2aaaa4.tar.gz
Return once the drawable is destroyed
Otherwise it might dereference a freed pointer in the next loop Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
-rw-r--r--va/x11/va_dricommon.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/va/x11/va_dricommon.c b/va/x11/va_dricommon.c
index 8f382ac..2a57756 100644
--- a/va/x11/va_dricommon.c
+++ b/va/x11/va_dricommon.c
@@ -90,6 +90,7 @@ va_dri_free_drawable(VADriverContextP ctx, struct dri_drawable* dri_drawable)
if (dri_drawable == dri_state->drawable_hash[i]) {
dri_state->destroyDrawable(ctx, dri_drawable);
dri_state->drawable_hash[i] = NULL;
+ return;
}
i++;
}