summaryrefslogtreecommitdiff
blob: 84562584b6a2bbedad216a89984f6a592df78e2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff --git a/src/vp9hdec/decode_hybrid_vp9.cpp b/src/vp9hdec/decode_hybrid_vp9.cpp
index 1baf339..7a086e2 100644
--- a/src/vp9hdec/decode_hybrid_vp9.cpp
+++ b/src/vp9hdec/decode_hybrid_vp9.cpp
@@ -3289,9 +3289,16 @@ VAStatus Intel_HybridVp9Decode_HostVldRenderCb (
 
     // Reset padding flag of current frame and update surface dimension
     surface = SURFACE(pMdfDecodeFrame->ucCurrIndex);
+    if ((surface == NULL) || (surface->private_data == NULL))
+        return VA_STATUS_ERROR_INVALID_PARAMETER;
+
     pFrameSource = (INTEL_DECODE_HYBRID_VP9_MDF_FRAME_SOURCE *)(surface->private_data);
     pCurrFrame = &(pFrameSource->Frame);
     pFrameSource->bHasPadding = false;
+
+    if (pCurrFrame->pMdfSurface == NULL)
+        return VA_STATUS_ERROR_INVALID_PARAMETER;
+
     pCurrFrame->pMdfSurface->SetSurfaceStateDimensions(
         pMdfDecodeFrame->dwWidth,
         pMdfDecodeFrame->dwHeight);