aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/dvdsub_parser.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-08-02 00:27:23 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-08-08 16:19:48 +0200
commite5fcc16a1fa7386e89277387f47f1b20b297304b (patch)
treedf86bc6999b4be3433702e2f660aa2b4dbd8ccbd /libavcodec/dvdsub_parser.c
parentfe461238d33e3b1ea9a8fdd8925d0ac584474fb6 (diff)
downloadffmpeg-e5fcc16a1fa7386e89277387f47f1b20b297304b.tar.gz
avcodec/dvdsub_parser: never return 0 when the input isnt 0
Fixes a infinite loop Fixes Ticket3804 Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit cfdb30d2f1241de9354a8efdbf8252d0f1a6f933) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/dvdsub_parser.c')
-rw-r--r--libavcodec/dvdsub_parser.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/dvdsub_parser.c b/libavcodec/dvdsub_parser.c
index e50c3396e4..9a6457e8b4 100644
--- a/libavcodec/dvdsub_parser.c
+++ b/libavcodec/dvdsub_parser.c
@@ -46,7 +46,7 @@ static int dvdsub_parse(AVCodecParserContext *s,
if (pc->packet_index == 0) {
if (buf_size < 2)
- return 0;
+ return buf_size;
pc->packet_len = AV_RB16(buf);
if (pc->packet_len == 0) /* HD-DVD subpicture packet */
pc->packet_len = AV_RB32(buf+2);