Undocumented Unsafe Code Blocks
Version: v0.1.0
Statistics:
- Total unsafe blocks: 41
- Documented: 0
- Undocumented: 41
Issue:
Multiple unsafe blocks lack required SAFETY comments explaining memory safety invariants.
Memory Safety Risks:
- Use-after-free
- Data races
- Buffer overflows
- Undefined behavior
Sample undocumented:
src-tauri/src/i18n/mod.rs: let len = unsafe { GetUserDefaultLocaleName(buf.as_mut_ptr(), buf.len() as i32) };
src-tauri/src/sandbox/token.rs: unsafe { CloseHandle(self.handle) };
src-tauri/src/sandbox/token.rs: let result = unsafe {
src-tauri/src/sandbox/token.rs: let result = unsafe {
src-tauri/src/sandbox/token.rs: unsafe { CloseHandle(source_token) };
Required Pattern:
// SAFETY: We guarantee X, Y, Z
unsafe {
// code
}
Recommendation:
Add SAFETY comments to every unsafe block documenting all invariants.
Severity: MEDIUM
Undocumented Unsafe Code Blocks
Version: v0.1.0
Statistics:
Issue:
Multiple unsafe blocks lack required SAFETY comments explaining memory safety invariants.
Memory Safety Risks:
Sample undocumented:
src-tauri/src/i18n/mod.rs: let len = unsafe { GetUserDefaultLocaleName(buf.as_mut_ptr(), buf.len() as i32) };
src-tauri/src/sandbox/token.rs: unsafe { CloseHandle(self.handle) };
src-tauri/src/sandbox/token.rs: let result = unsafe {
src-tauri/src/sandbox/token.rs: let result = unsafe {
src-tauri/src/sandbox/token.rs: unsafe { CloseHandle(source_token) };
Required Pattern:
Recommendation:
Add SAFETY comments to every unsafe block documenting all invariants.
Severity: MEDIUM