aboutsummaryrefslogtreecommitdiff
path: root/gst-libs/ext/libav/libavformat/4xm.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst-libs/ext/libav/libavformat/4xm.c')
-rw-r--r--gst-libs/ext/libav/libavformat/4xm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gst-libs/ext/libav/libavformat/4xm.c b/gst-libs/ext/libav/libavformat/4xm.c
index c0b3914..9dfb956 100644
--- a/gst-libs/ext/libav/libavformat/4xm.c
+++ b/gst-libs/ext/libav/libavformat/4xm.c
@@ -136,6 +136,8 @@ static int parse_strk(AVFormatContext *s,
av_log(s, AV_LOG_ERROR, "current_track too large\n");
return AVERROR_INVALIDDATA;
}
+ if (track < 0)
+ return AVERROR_INVALIDDATA;
if (track + 1 > fourxm->track_count) {
AudioTrack *tmp = av_realloc(fourxm->tracks,
(track + 1) * sizeof(AudioTrack));
@@ -154,7 +156,7 @@ static int parse_strk(AVFormatContext *s,
if (fourxm->tracks[track].channels <= 0 ||
fourxm->tracks[track].sample_rate <= 0 ||
- fourxm->tracks[track].bits < 0) {
+ fourxm->tracks[track].bits <= 0) {
av_log(s, AV_LOG_ERROR, "audio header invalid\n");
return AVERROR_INVALIDDATA;
}