Report a proper error when bitstream wrongly requests prev_frame_mvs Using an assert (which was compiled out) meant we got to a use-after-free in bug 729. BUG=aomedia:729 Change-Id: I4d0fa5e80322c395f94565c76e2285782c328505
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c index 8db78b9..1e67971 100644 --- a/av1/decoder/decodeframe.c +++ b/av1/decoder/decodeframe.c
@@ -5243,7 +5243,10 @@ #endif // CONFIG_EXT_REFS || CONFIG_TEMPMV_SIGNALING #if CONFIG_TEMPMV_SIGNALING - if (cm->use_prev_frame_mvs) assert(frame_can_use_prev_frame_mvs(cm)); + if (cm->use_prev_frame_mvs && !frame_can_use_prev_frame_mvs(cm)) { + aom_internal_error(&cm->error, AOM_CODEC_CORRUPT_FRAME, + "Frame wrongly requests previous frame MVs"); + } #else cm->use_prev_frame_mvs = !cm->error_resilient_mode && cm->prev_frame && #if CONFIG_FRAME_SUPERRES