From b511f2239e784d74c8a12391d5c67302205a07af Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Sat, 26 Jul 2025 16:53:53 +0300 Subject: [PATCH] ci,x.json2.decoder2: fix sanitize jobs --- vlib/x/json2/decoder2/decode_sumtype.v | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/vlib/x/json2/decoder2/decode_sumtype.v b/vlib/x/json2/decoder2/decode_sumtype.v index e5604edf39..5a3e303289 100644 --- a/vlib/x/json2/decoder2/decode_sumtype.v +++ b/vlib/x/json2/decoder2/decode_sumtype.v @@ -164,7 +164,8 @@ fn (mut decoder Decoder) check_struct_type_valid[T](s T, current_node Node[Value } if unsafe { - vmemcmp(decoder.json.str + key_info.position, type_field.str, type_field.len) == 0 + key_info.position + type_field.len <= decoder.json.len + && 0 == vmemcmp(decoder.json.str + key_info.position, type_field.str, type_field.len) } { // find type field type_field_node = type_field_node.next @@ -184,8 +185,8 @@ fn (mut decoder Decoder) check_struct_type_valid[T](s T, current_node Node[Value unsafe { } if unsafe { - vmemcmp(decoder.json.str + type_field_node.value.position + 1, variant_name.str, - variant_name.len) == 0 + type_field_node.value.position + 1 + variant_name.len <= decoder.json.len + && 0 == vmemcmp(decoder.json.str + type_field_node.value.position + 1, variant_name.str, variant_name.len) } { return true }