]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/flac_parser.c
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavcodec / flac_parser.c
index 217461f82843efc7ce4caea55306f351287c8e77..3d2b88262fd127d2548e530bc73df0176ffa2ef9 100644 (file)
@@ -561,8 +561,8 @@ static int flac_parse(AVCodecParserContext *s, AVCodecContext *avctx,
         }
 
         /* Fill the buffer. */
-        if (av_fifo_realloc2(fpc->fifo_buf,
-                             (read_end - read_start) + av_fifo_size(fpc->fifo_buf)) < 0) {
+        if (   av_fifo_space(fpc->fifo_buf) < read_end - read_start
+            && av_fifo_realloc2(fpc->fifo_buf, (read_end - read_start) + 2*av_fifo_size(fpc->fifo_buf)) < 0) {
             av_log(avctx, AV_LOG_ERROR,
                    "couldn't reallocate buffer of size %td\n",
                    (read_end - read_start) + av_fifo_size(fpc->fifo_buf));