Skip to content

Commit 61d0063

Browse files
committed
Fix crash issue if zName is null
1 parent cb9fef1 commit 61d0063

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

sqlite-wasm-rs/src/shim/vfs/memory.rs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,9 @@ unsafe extern "C" fn xDelete(
130130
zName: *const ::std::os::raw::c_char,
131131
_syncDir: ::std::os::raw::c_int,
132132
) -> ::std::os::raw::c_int {
133+
if zName.is_null() {
134+
return SQLITE_IOERR_DELETE;
135+
}
133136
let Ok(s) = CStr::from_ptr(zName).to_str() else {
134137
return SQLITE_ERROR;
135138
};
@@ -143,10 +146,14 @@ unsafe extern "C" fn xAccess(
143146
_flags: ::std::os::raw::c_int,
144147
pResOut: *mut ::std::os::raw::c_int,
145148
) -> ::std::os::raw::c_int {
146-
let Ok(s) = CStr::from_ptr(zName).to_str() else {
147-
return SQLITE_ERROR;
149+
*pResOut = if zName.is_null() {
150+
0
151+
} else {
152+
let Ok(s) = CStr::from_ptr(zName).to_str() else {
153+
return SQLITE_ERROR;
154+
};
155+
i32::from(name2file().contains_key(s))
148156
};
149-
*pResOut = i32::from(name2file().contains_key(s));
150157
SQLITE_OK
151158
}
152159

0 commit comments

Comments
 (0)