From feafad7958ca4e35fdb398d229c49223612a6158 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Tue, 11 Aug 2020 22:10:32 +0200 Subject: [PATCH] Fix JIT compilation for jtable * libguile/jit.c (compile_jtable): Fix bounds check for index. --- libguile/jit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libguile/jit.c b/libguile/jit.c index 5872ca9c7..c859c269e 100644 --- a/libguile/jit.c +++ b/libguile/jit.c @@ -4393,7 +4393,7 @@ compile_jtable (scm_jit_state *j, uint32_t idx, uint32_t len, add_inter_instruction_patch (j, high_word_nonzero, default_target); #endif - jit_reloc_t out_of_range = jit_bgei_u (j->jit, T0, len); + jit_reloc_t out_of_range = jit_bgei_u (j->jit, T0, len - 1); add_inter_instruction_patch (j, out_of_range, default_target); /* Now that we know that the u64 at IDX is in the table, load the