:: commit f3dda738885fe1d5141ebcac8f0e6060b139c744

Kamila Szewczyk <kspalaiologos@gmail.com> — 2022-05-13 07:26

parents: 07ee83691b

bwt index check

diff --git a/src/libbz3.c b/src/libbz3.c
index a712ac9..da2b0cc 100644
--- a/src/libbz3.c
+++ b/src/libbz3.c
@@ -249,6 +249,11 @@ PUBLIC_API s32 bz3_decode_block(struct bz3_state * state, u8 * buffer, s32 data_
     for (s32 i = 0; i < size_src; i++) b2[i] = decode_byte(state->cm_state);
     swap(b1, b2);
 
+    if(bwt_idx >= size_src) {
+        state->last_error = BZ3_ERR_MALFORMED_HEADER;
+        return -1;
+    }
+
     // Undo BWT
     if (libsais_unbwt(b1, b2, state->sais_array, size_src, NULL, bwt_idx) < 0) {
         state->last_error = BZ3_ERR_BWT;
tab: 248 wrap: offon