diff --git a/libavcodec/apedec.c b/libavcodec/apedec.c index 8b1af80934..e9069031ad 100644 --- a/libavcodec/apedec.c +++ b/libavcodec/apedec.c @@ -26,6 +26,7 @@ #include "get_bits.h" #include "bytestream.h" #include "libavutil/audioconvert.h" +#include "libavutil/avassert.h" /** * @file @@ -834,6 +835,10 @@ static int ape_decode_frame(AVCodecContext *avctx, return AVERROR(EINVAL); } + /* this should never be negative, but bad things will happen if it is, so + check it just to make sure. */ + av_assert0(s->samples >= 0); + if(!s->samples){ uint32_t offset; void *tmp_data;