Commit:
5396c57Parent:
77592a8Secure SyntaxHighlighter against empty strings
GitBrowser.SyntaxHighlighter/src/lib.rs
+5
-2
diff --git a/GitBrowser.SyntaxHighlighter/src/lib.rs b/GitBrowser.SyntaxHighlighter/src/lib.rs
index 19074f7..9051a2a 100644
@@ -9,7 +9,8 @@ pub extern "C" fn can_highlight_file(file_extension: *const c_char) -> bool {
};
let ss = SyntaxSet::load_defaults_newlines();
ss.find_syntax_by_extension(&ext[1..]).is_some()
ss.find_syntax_by_extension(ext.chars().skip(1).collect::<String>().as_str())
.is_some()
}
#[unsafe(no_mangle)]
@@ -25,7 +26,9 @@ pub extern "C" fn highlight_syntax_html(
};
let ss = SyntaxSet::load_defaults_newlines();
let Some(syntax) = ss.find_syntax_by_extension(&ext[1..]) else {
let Some(syntax) =
ss.find_syntax_by_extension(ext.chars().skip(1).collect::<String>().as_str())
else {
return CString::default().into_raw();
};