This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

The following commit(s) were added to refs/heads/master by this push:
     new daedf4012d avcodec/exr: check rle() return value in rle_uncompress()
daedf4012d is described below

commit daedf4012d073c5b8a9ae45dfbb53bff7d087ce5
Author:     João Neves <[email protected]>
AuthorDate: Wed Apr 8 12:56:50 2026 -0700
Commit:     Marton Balint <[email protected]>
CommitDate: Sun May 3 20:15:54 2026 +0000

    avcodec/exr: check rle() return value in rle_uncompress()
    
    rle_uncompress() silently discards the return value of rle(). When the
    compressed data is malformed and rle() returns AVERROR_INVALIDDATA,
    processing continues on a partially filled buffer. Propagate the error
    to the caller, which already handles it at line 1420.
    
    Signed-off-by: João Neves <[email protected]>
---
 libavcodec/exr.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavcodec/exr.c b/libavcodec/exr.c
index c7fcd302cd..6b52c7e8ef 100644
--- a/libavcodec/exr.c
+++ b/libavcodec/exr.c
@@ -267,7 +267,9 @@ static int rle(uint8_t *dst, const uint8_t *src,
 static int rle_uncompress(const EXRContext *ctx, const uint8_t *src, int 
compressed_size,
                           int uncompressed_size, EXRThreadData *td)
 {
-    rle(td->tmp, src, compressed_size, uncompressed_size);
+    int ret = rle(td->tmp, src, compressed_size, uncompressed_size);
+    if (ret < 0)
+        return ret;
 
     av_assert1(uncompressed_size % 2 == 0);
 

_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to