From f5923a281af7e826d03d59d8281e457d0c4c87fe Mon Sep 17 00:00:00 2001 From: Alasdair Armstrong Date: Thu, 26 Oct 2017 18:43:18 +0100 Subject: Fix a bug in Sail OCaml library --- lib/ocaml_rts/sail_lib.ml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/ocaml_rts/sail_lib.ml b/lib/ocaml_rts/sail_lib.ml index a0ba31eb..7639a127 100644 --- a/lib/ocaml_rts/sail_lib.ml +++ b/lib/ocaml_rts/sail_lib.ml @@ -380,7 +380,9 @@ let eq_string (str1, str2) = String.compare str1 str2 == 0 let lt_int (x, y) = lt_big_int x y let set_slice (out_len, slice_len, out, n, slice) = - update_subrange(out, n, sub_big_int n (big_int_of_int (List.length slice - 1)), slice) + let out = update_subrange(out, add_big_int n (big_int_of_int (List.length slice - 1)), n, slice) in + assert (List.length out = int_of_big_int out_len); + out let set_slice_int (_, _, _, _) = assert false -- cgit v1.2.3