From: Vignesh Venkatasubramanian Date: Mon, 25 Aug 2014 16:15:13 +0000 (-0700) Subject: lavf/matroskadec: Ensure cues_end is initialized X-Git-Tag: android-x86-6.0-r1~3419 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=080acf7771e1ca7ab1b20a3c8f20f0ef1150e285;p=android-x86%2Fexternal-ffmpeg.git lavf/matroskadec: Ensure cues_end is initialized Ensure that cues_start and cues_end are always initialized and the webm_dash_manifest_cues function returns appropriate error if they are not computed correctly. This fixes coverity defect CID1231991. Signed-off-by: Vignesh Venkatasubramanian Signed-off-by: Michael Niedermayer --- diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index c19e8e9ca8..83c1b3dbe0 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -3321,7 +3321,7 @@ static int webm_dash_manifest_cues(AVFormatContext *s) EbmlList *seekhead_list = &matroska->seekhead; MatroskaSeekhead *seekhead = seekhead_list->elem; char *buf; - int64_t cues_start, cues_end, before_pos, bandwidth; + int64_t cues_start = -1, cues_end = -1, before_pos, bandwidth; int i; // determine cues start and end positions @@ -3340,6 +3340,7 @@ static int webm_dash_manifest_cues(AVFormatContext *s) cues_end = cues_start + cues_length + 11; // 11 is the offset of Cues ID. } avio_seek(matroska->ctx->pb, before_pos, SEEK_SET); + if (cues_start == -1 || cues_end == -1) return -1; // parse the cues matroska_parse_cues(matroska);