]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/iff.c
Merge commit '34effe816f9f3df2e6b8bc738e2b5a86a24fd0d7'
[ffmpeg] / libavcodec / iff.c
index 96ecd8a91abfb95fd502d0484646a2fc82cc1039..ef9ce9112fc923d7bd7cd987d545425fce64952a 100644 (file)
@@ -29,6 +29,7 @@
 #include <stdint.h>
 
 #include "libavutil/imgutils.h"
+
 #include "bytestream.h"
 #include "avcodec.h"
 #include "internal.h"
@@ -541,6 +542,8 @@ static int decode_byterun(uint8_t *dst, int dst_size,
         if (value >= 0) {
             length = FFMIN3(value + 1, dst_size - x, bytestream2_get_bytes_left(gb));
             bytestream2_get_buffer(gb, dst + x, length);
+            if (length < value + 1)
+                bytestream2_skip(gb, value + 1 - length);
         } else if (value > -128) {
             length = FFMIN(-value + 1, dst_size - x);
             memset(dst + x, bytestream2_get_byte(gb), length);