[FFmpeg-cvslog] avcodec/exr: add missed hunks from previous exr commit

Martin Vignali git at videolan.org
Sat Jun 25 18:28:58 CEST 2016


ffmpeg | branch: master | Martin Vignali <martin.vignali at gmail.com> | Sat Jun 25 18:24:12 2016 +0200| [d96b8144c0058586d3c3472de2621d105f0aa620] | committer: Paul B Mahol

avcodec/exr: add missed hunks from previous exr commit

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d96b8144c0058586d3c3472de2621d105f0aa620
---

 libavcodec/exr.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libavcodec/exr.c b/libavcodec/exr.c
index 05e72d8..c87187c 100644
--- a/libavcodec/exr.c
+++ b/libavcodec/exr.c
@@ -980,12 +980,19 @@ static int b44_uncompress(EXRContext *s, const uint8_t *src, int compressed_size
             }
             target_channel_offset += 2;
         } else {/* Float or UINT 32 channel */
+            if (stayToUncompress < td->ysize * td->xsize * 4) {
+                av_log(s, AV_LOG_ERROR, "Not enough data for uncompress channel: %d", stayToUncompress);
+                return AVERROR_INVALIDDATA;
+            }
+
             for (y = 0; y < td->ysize; y++) {
                 indexOut = target_channel_offset * td->xsize + y * td->channel_line_size;
                 memcpy(&td->uncompressed_data[indexOut], sr, td->xsize * 4);
                 sr += td->xsize * 4;
             }
             target_channel_offset += 4;
+
+            stayToUncompress -= td->ysize * td->xsize * 4;
         }
     }
 



More information about the ffmpeg-cvslog mailing list