:: commit 9af56cf68549a95c385c92577473f1533377fcda

Kamila Szewczyk <kspalaiologos@gmail.com> — 2022-05-11 14:23

parents: a183b04213

pre-memcpy source size check.

diff --git a/src/libbz3.c b/src/libbz3.c
index ea5a420..d5d90cc 100644
--- a/src/libbz3.c
+++ b/src/libbz3.c
@@ -264,6 +264,11 @@ PUBLIC_API s32 bz3_decode_block(struct bz3_state * state, u8 * buffer, s32 data_
 
     state->last_error = BZ3_OK;
 
+    if(size_src > state->block_size + state->block_size / 50 + 16 || size_src < 0) {
+        state->last_error = BZ3_ERR_MALFORMED_HEADER;
+        return -1;
+    }
+
     // XXX: Better solution
     if (b1 != buffer) memcpy(buffer, b1, size_src);
 
tab: 248 wrap: offon