diff --git a/libavformat/avidec.c b/libavformat/avidec.c index b04a46be33..c7210f026b 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -905,7 +905,8 @@ fail: static int read_gab2_sub(AVStream *st, AVPacket *pkt) { - if (pkt->data && !strcmp(pkt->data, "GAB2") && AV_RL16(pkt->data + 5) == 2) { + if (pkt->size >= 7 && + !strcmp(pkt->data, "GAB2") && AV_RL16(pkt->data + 5) == 2) { uint8_t desc[256]; int score = AVPROBE_SCORE_EXTENSION, ret; AVIStream *ast = st->priv_data;