From 9106479d070ddd3a4bf633970b3cbd0cc6cfb864 Mon Sep 17 00:00:00 2001 From: Folkert Date: Wed, 28 Sep 2022 15:17:07 +0200 Subject: [PATCH] access out of bounds in string split --- crates/compiler/builtins/bitcode/src/str.zig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/crates/compiler/builtins/bitcode/src/str.zig b/crates/compiler/builtins/bitcode/src/str.zig index e6996d83a3..930fd26cf5 100644 --- a/crates/compiler/builtins/bitcode/src/str.zig +++ b/crates/compiler/builtins/bitcode/src/str.zig @@ -800,6 +800,12 @@ fn strSplitHelp(array: [*]RocStr, string: RocStr, delimiter: RocStr) void { while (delimiter_index < delimiter_len) { var delimiterChar = delimiter_bytes_ptrs[delimiter_index]; + + if (str_index + delimiter_index >= str_len) { + matches_delimiter = false; + break; + } + var strChar = str_bytes[str_index + delimiter_index]; if (delimiterChar != strChar) {