diff --git a/vp9/vp9_dx_iface.c b/vp9/vp9_dx_iface.c
index 05029b92e3bdd8c06350f35c6a263071a3295e9b..66a3c2b939815f9b316d3e8df15bff5f65990839 100644
--- a/vp9/vp9_dx_iface.c
+++ b/vp9/vp9_dx_iface.c
@@ -368,6 +368,8 @@ static vpx_codec_err_t vp9_decode(vpx_codec_alg_priv_t  *ctx,
   uint32_t sizes[8];
   int frames_this_pts, frame_count = 0;
 
+  if (data == NULL || data_sz == 0) return VPX_CODEC_INVALID_PARAM;
+
   parse_superframe_index(data, data_sz, sizes, &frames_this_pts);
 
   do {