OSDN Git Service

va: release VADisplayContext at the end of vaTerminate()
authorXiang, Haihao <haihao.xiang@intel.com>
Thu, 18 Jul 2013 05:13:31 +0000 (13:13 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Thu, 26 Jun 2014 14:05:32 +0000 (22:05 +0800)
Otherwise it will result in invalid reading in va_TraceEnd()

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
(cherry picked from commit d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9)
Tested-by: Daniel Charles <daniel.charles@intel.com> on ChromiumOS
va/va.c

diff --git a/va/va.c b/va/va.c
index c770f0d..4f3be28 100644 (file)
--- a/va/va.c
+++ b/va/va.c
@@ -515,15 +515,15 @@ VAStatus vaTerminate (
   free(old_ctx->vtable_vpp);
   old_ctx->vtable_vpp = NULL;
 
-  if (VA_STATUS_SUCCESS == vaStatus)
-      pDisplayContext->vaDestroy(pDisplayContext);
-
   VA_TRACE_LOG(va_TraceTerminate, dpy);
 
   va_TraceEnd(dpy);
 
   va_FoolEnd(dpy);
 
+  if (VA_STATUS_SUCCESS == vaStatus)
+      pDisplayContext->vaDestroy(pDisplayContext);
+
   return vaStatus;
 }