diff --git a/libavformat/au.c b/libavformat/au.c index 67e6cab181..bec0d7641b 100644 --- a/libavformat/au.c +++ b/libavformat/au.c @@ -150,6 +150,11 @@ static int au_read_header(AVFormatContext *s) return AVERROR_INVALIDDATA; } + if (channels <= 0) { + av_log(s, AV_LOG_ERROR, "Invalid number of channels %d\n", channels); + return AVERROR_INVALIDDATA; + } + if (size >= 24) { /* skip unused data */ avio_skip(pb, size - 24);