Skip to content

Commit 9dada87

Browse files
authored
fix(cargo): handle multi-byte chars in name range search (#58)
Adjust search_start to char boundary when slicing content for dependency name lookup, preventing panic on Cargo.toml files containing multi-byte UTF-8 characters.
1 parent 8116881 commit 9dada87

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

crates/deps-cargo/src/parser.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,10 @@ fn compute_name_range_from_value(
233233
};
234234

235235
if let Some(span) = value_span {
236-
let search_start = span.start.saturating_sub(name.len() + 100);
236+
let mut search_start = span.start.saturating_sub(name.len() + 100);
237+
while search_start > 0 && !content.is_char_boundary(search_start) {
238+
search_start -= 1;
239+
}
237240
let search_end = span.start;
238241

239242
if search_start < content.len() && search_end <= content.len() {

0 commit comments

Comments
 (0)