From c5a489d7f82535a70488dd4f9e40e79f32a7fb2f Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 4 Oct 2026 17:04:28 +0000 Subject: Fix the crashes found by the fuzzer so far. I really need to think of a better way to store those crash inputs. FossilOrigin-Name: a8b84fbc85ec0b472aca930d2d0af27949b39940317114cc37d37044bf1975d5 --- src/lib/string.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/lib/string.c') diff --git a/src/lib/string.c b/src/lib/string.c index 4101b80..0c01fca 100644 --- a/src/lib/string.c +++ b/src/lib/string.c @@ -104,6 +104,10 @@ string_char(struct string *string, size_t offset) uint32_t c; size_t len, i; + assert(offset <= string->bytes); + if(offset == string->bytes) + return INVALID_CHAR; + c = 0; len = char_length(string, offset); switch(char_length(string, offset)){ @@ -134,8 +138,8 @@ char_length(struct string *string, size_t offset) { uint8_t b; - if(offset >= string->bytes) - return 0; + assert(offset < string->bytes); + b = string->utf8[offset]; assert(!((b & 0xC0) == 0x80)); -- cgit v1.2.3