fix(asan): only use slice::from_raw_parts if locals_query is not null

This commit is contained in:
Amaan Qureshi 2023-07-19 22:20:30 -04:00
parent 75e1bcf70a
commit a76701103e
No known key found for this signature in database
GPG key ID: E67890ADC4227273

View file

@ -84,7 +84,11 @@ pub extern "C" fn ts_tagger_add_language(
let tagger = unwrap_mut_ptr(this);
let scope_name = unsafe { unwrap(CStr::from_ptr(scope_name).to_str()) };
let tags_query = unsafe { slice::from_raw_parts(tags_query, tags_query_len as usize) };
let locals_query = unsafe { slice::from_raw_parts(locals_query, locals_query_len as usize) };
let locals_query = if locals_query != std::ptr::null() {
unsafe { slice::from_raw_parts(locals_query, locals_query_len as usize) }
} else {
&[]
};
let tags_query = match str::from_utf8(tags_query) {
Ok(e) => e,
Err(_) => return TSTagsError::InvalidUtf8,