OSDN Git Service

vatrace: check the pointer against NULL before using it
authorXiang, Haihao <haihao.xiang@intel.com>
Mon, 12 Aug 2013 06:52:14 +0000 (14:52 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Mon, 17 Mar 2014 01:36:52 +0000 (09:36 +0800)
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
(cherry picked from commit 7ae3f1f3666e3571774a9b98ee6571433dcc73d5)

va/va_trace.c

index f50bd84..17bf113 100644 (file)
@@ -357,6 +357,9 @@ void va_TraceSurface(VADisplay dpy)
     unsigned char check_sum = 0;
     DPY2TRACECTX(dpy);
 
+    if (!trace_ctx->trace_fp_surface)
+        return;
+
     va_TraceMsg(trace_ctx, "==========dump surface data in file %s\n", trace_ctx->trace_surface_fn);
 
     if ((file_size(trace_ctx->trace_fp_surface) >= trace_logsize)) {
@@ -403,20 +406,18 @@ void va_TraceSurface(VADisplay dpy)
 
     tmp = Y_data + luma_stride * trace_ctx->trace_surface_yoff;
     for (i=0; i<trace_ctx->trace_surface_height; i++) {
-        if (trace_ctx->trace_fp_surface)
-            fwrite(tmp + trace_ctx->trace_surface_xoff,
-                   trace_ctx->trace_surface_width,
-                   1, trace_ctx->trace_fp_surface);
+        fwrite(tmp + trace_ctx->trace_surface_xoff,
+               trace_ctx->trace_surface_width,
+               1, trace_ctx->trace_fp_surface);
         
         tmp += luma_stride;
     }
     tmp = UV_data + chroma_u_stride * trace_ctx->trace_surface_yoff;
     if (fourcc == VA_FOURCC_NV12) {
         for (i=0; i<trace_ctx->trace_surface_height/2; i++) {
-            if (trace_ctx->trace_fp_surface)
-                fwrite(tmp + trace_ctx->trace_surface_xoff,
-                       trace_ctx->trace_surface_width,
-                       1, trace_ctx->trace_fp_surface);
+            fwrite(tmp + trace_ctx->trace_surface_xoff,
+                   trace_ctx->trace_surface_width,
+                   1, trace_ctx->trace_fp_surface);
             
             tmp += chroma_u_stride;
         }