Fix array-bounds-exceeded error

We didn't consider empty base/target strings and accessed the ith
element unconditionally. We now check to make sure `i` is in range.
This commit is contained in:
imp0s5ible
2026-03-29 21:24:57 +02:00
parent 1f2d978396
commit 0d8fe07388

View File

@@ -349,7 +349,7 @@ _get_common_path_len :: proc(base, target: string) -> int {
end := min(len(base), len(target))
for j in 0..=end {
if j == end || _is_path_separator(base[j]) {
if _is_path_separator(base[i]) && _is_path_separator(target[i]) {
if i < end && _is_path_separator(base[i]) && _is_path_separator(target[i]) {
i += 1
}
if strings.equal_fold(base[i:j], target[i:j]) {