summaryrefslogtreecommitdiff
path: root/libavcodec/h264_slice.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2021-03-20 17:02:36 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2021-03-26 16:00:14 +0100
commit80472438996ed1928b30f6ac4e0d17a492de2cdf (patch)
treead780b28cb6adf90a5d37322759b1c1e42e92346 /libavcodec/h264_slice.c
parent28859d6e7cdbf0cc230cbf782f3895a9fa22616c (diff)
downloadffmpeg-80472438996ed1928b30f6ac4e0d17a492de2cdf.tar.gz
avcodec/h264_slice: Check sps in h264_slice_header_init()
Fixes: null pointer dereference Fixes: h264_slice_header_init.mp4 Found-by: Rafael Dutra <rafael.dutra@cispa.de> Tested-by: Rafael Dutra <rafael.dutra@cispa.de> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/h264_slice.c')
-rw-r--r--libavcodec/h264_slice.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index 14b945756b..84b5710ab4 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -922,6 +922,11 @@ static int h264_slice_header_init(H264Context *h)
const SPS *sps = h->ps.sps;
int i, ret;
+ if (!sps) {
+ ret = AVERROR_INVALIDDATA;
+ goto fail;
+ }
+
ff_set_sar(h->avctx, sps->sar);
av_pix_fmt_get_chroma_sub_sample(h->avctx->pix_fmt,
&h->chroma_x_shift, &h->chroma_y_shift);