aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-01-09 13:02:44 +0100
committerMichael Niedermayer <michaelni@gmx.at>2015-01-15 20:58:58 +0100
commite7d85186d639a53a4563c5f65322190ae9ad8a83 (patch)
treefb15b9fc21233560294dad69c6c8beb1c15287ca
parent6c3cb02a742f0ce32a85e86738a18e3d6d711d59 (diff)
downloadffmpeg-e7d85186d639a53a4563c5f65322190ae9ad8a83.tar.gz
avcodec/parser: Check that the parser return code is valid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/parser.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/parser.c b/libavcodec/parser.c
index 2c03b7e5c5..aa25481ebc 100644
--- a/libavcodec/parser.c
+++ b/libavcodec/parser.c
@@ -23,6 +23,7 @@
#include <stdint.h>
#include <string.h>
+#include "libavutil/avassert.h"
#include "libavutil/atomic.h"
#include "libavutil/mem.h"
@@ -163,6 +164,7 @@ int av_parser_parse2(AVCodecParserContext *s, AVCodecContext *avctx,
/* WARNING: the returned index can be negative */
index = s->parser->parser_parse(s, avctx, (const uint8_t **) poutbuf,
poutbuf_size, buf, buf_size);
+ av_assert0(index > -0x20000000); // The API does not allow returning AVERROR codes
/* update the file pointer */
if (*poutbuf_size) {
/* fill the data for the current frame */