From 8d45c001a8e92a6fee768a7e7bcc1bfe09120838 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 22 Sep 2012 04:40:10 +0200 Subject: flac_parser: fix fifo ptr wrap check Signed-off-by: Michael Niedermayer --- libavcodec/flac_parser.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libavcodec/flac_parser.c') diff --git a/libavcodec/flac_parser.c b/libavcodec/flac_parser.c index 17b96e2c6b..e37ca64be8 100644 --- a/libavcodec/flac_parser.c +++ b/libavcodec/flac_parser.c @@ -606,10 +606,11 @@ static int flac_parse(AVCodecParserContext *s, AVCodecContext *avctx, /* restore the state pre-padding */ if (fpc->end_padded) { + int warp = fpc->fifo_buf->wptr - fpc->fifo_buf->buffer < MAX_FRAME_HEADER_SIZE; /* HACK: drain the tail of the fifo */ fpc->fifo_buf->wptr -= MAX_FRAME_HEADER_SIZE; fpc->fifo_buf->wndx -= MAX_FRAME_HEADER_SIZE; - if (fpc->fifo_buf->wptr < 0) { + if (warp) { fpc->fifo_buf->wptr += fpc->fifo_buf->end - fpc->fifo_buf->buffer; } -- cgit v1.2.3