Terminate decoding if sequence header is not found

BUG=b/74494554

Change-Id: I4b989945076964f7b74349bda61d32a3c89eca3f
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index e8683df..addd757 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -2633,6 +2633,11 @@
   BufferPool *const pool = cm->buffer_pool;
   RefCntBuffer *const frame_bufs = pool->frame_bufs;
 
+  if (!pbi->seqence_header_ready) {
+    aom_internal_error(&cm->error, AOM_CODEC_CORRUPT_FRAME,
+                       "No sequence header");
+  }
+
   cm->last_frame_type = cm->frame_type;
   cm->last_intra_only = cm->intra_only;
 
diff --git a/av1/decoder/decoder.h b/av1/decoder/decoder.h
index e17e58d..7bce718 100644
--- a/av1/decoder/decoder.h
+++ b/av1/decoder/decoder.h
@@ -94,6 +94,7 @@
   int tg_size;             // Number of tiles in the current tilegroup
   int tg_start;            // First tile in the current tilegroup
   int tg_size_bit_offset;
+  int seqence_header_ready;
 #if CONFIG_INSPECTION
   aom_inspect_cb inspect_cb;
   void *inspect_ctx;
diff --git a/av1/decoder/obu.c b/av1/decoder/obu.c
index d801d92..c25b168 100644
--- a/av1/decoder/obu.c
+++ b/av1/decoder/obu.c
@@ -146,6 +146,8 @@
   cm->film_grain_params_present = aom_rb_read_bit(rb);
 #endif
 
+  pbi->seqence_header_ready = 1;
+
   return ((rb->bit_offset - saved_bit_offset + 7) >> 3);
 }