From a76701103e15b449fd915edd519a0bd254def2b0 Mon Sep 17 00:00:00 2001 From: Amaan Qureshi Date: Wed, 19 Jul 2023 22:20:30 -0400 Subject: [PATCH] fix(asan): only use `slice::from_raw_parts` if locals_query is not null --- tags/src/c_lib.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tags/src/c_lib.rs b/tags/src/c_lib.rs index 088cc7bc..c8f39d2c 100644 --- a/tags/src/c_lib.rs +++ b/tags/src/c_lib.rs @@ -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,