]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/iss.c
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavformat / iss.c
index 2bae3c1d7b392b9803465185fea50da0e8fc6b2c..af2fc6e4ac8209f97aec1eca2218afcedf8b7b3d 100644 (file)
@@ -65,7 +65,7 @@ static int iss_probe(AVProbeData *p)
     return AVPROBE_SCORE_MAX;
 }
 
-static av_cold int iss_read_header(AVFormatContext *s, AVFormatParameters *ap)
+static av_cold int iss_read_header(AVFormatContext *s)
 {
     IssDemuxContext *iss = s->priv_data;
     AVIOContext *pb = s->pb;
@@ -87,6 +87,11 @@ static av_cold int iss_read_header(AVFormatContext *s, AVFormatParameters *ap)
     get_token(pb, token, sizeof(token)); //Version ID
     get_token(pb, token, sizeof(token)); //Size
 
+    if (iss->packet_size <= 0) {
+        av_log(s, AV_LOG_ERROR, "packet_size %d is invalid\n", iss->packet_size);
+        return AVERROR_INVALIDDATA;
+    }
+
     iss->sample_start_pos = avio_tell(pb);
 
     st = avformat_new_stream(s, NULL);
@@ -130,4 +135,3 @@ AVInputFormat ff_iss_demuxer = {
     .read_header    = iss_read_header,
     .read_packet    = iss_read_packet,
 };
-