[FFmpeg-cvslog] h264_refs: validate the SPS pointer in ff_h264_execute_ref_pic_marking()

Sean McGovern git at videolan.org
Tue Oct 31 01:53:52 EET 2017


ffmpeg | branch: master | Sean McGovern <gseanmcg at gmail.com> | Sun May  7 17:11:59 2017 -0400| [cb167f2947f1a2c446bd8db196d0e64ef4a6d06b] | committer: Sean McGovern

h264_refs: validate the SPS pointer in ff_h264_execute_ref_pic_marking()

Bug-Id: 1036
CC: libav-stable at libav.org

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cb167f2947f1a2c446bd8db196d0e64ef4a6d06b
---

 libavcodec/h264_refs.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libavcodec/h264_refs.c b/libavcodec/h264_refs.c
index b4dc49cc41..9536c4beaa 100644
--- a/libavcodec/h264_refs.c
+++ b/libavcodec/h264_refs.c
@@ -557,6 +557,12 @@ int ff_h264_execute_ref_pic_marking(H264Context *h)
     int current_ref_assigned = 0, err = 0;
     H264Picture *av_uninit(pic);
 
+    if (!h->ps.sps) {
+        av_log(h->avctx, AV_LOG_ERROR, "SPS is unset\n");
+        err = AVERROR_INVALIDDATA;
+        goto out;
+    }
+
     if (!h->explicit_ref_marking)
         generate_sliding_window_mmcos(h);
     mmco_count = h->nb_mmco;
@@ -725,6 +731,7 @@ int ff_h264_execute_ref_pic_marking(H264Context *h)
 
     print_short_term(h);
     print_long_term(h);
+out:
     return (h->avctx->err_recognition & AV_EF_EXPLODE) ? err : 0;
 }
 



More information about the ffmpeg-cvslog mailing list