Skip to content

List of detected issues

Irina Dudina edited this page Nov 7, 2023 · 8 revisions

Accidental loss of tag

Warning description Checker Explanation
Storing capabilities at unaligned addresses optin.portability.PointerAlignment CHERI C/C++ Programming Guide §4.2.2
Capability‑unaware implementation of copy/swap routines cheri.CapabilityCopy CHERI C/C++ Programming Guide §4.2
Pointer passed through non‑capability integer type cheri.ProvenanceSource CHERI C/C++ Programming Guide §4.2.3

Provenance issues with_ (u)intptr_t

Warning description Checker Explanation
Invalid (NULL‑derived) capability used as pointer cheri.ProvenanceSource CHERI C/C++ Programming Guide §4.2.3
(u)intptr_t arithmetic with ambiguous provenance source cheri.ProvenanceSource CHERI C/C++ Programming Guide §4.2.3
(u)intptr_t value with ambiguous provenance used as pointer cheri.ProvenanceSource CHERI C/C++ Programming Guide §4.2.3
Pointer difference as (u)intptr_t capability cheri.ProvenanceSource

Sizeof assumptions

Warning description Checker Explanation
Allocator sizeof operand mismatch unix.MallocSizeof
Assuming sizeof(void*) <= 8

CHERI‑incompatible patterns

Warning description Checker Explanation
Use fixed address alpha.core.FixedAddr
Subtraction of pointers pointing to disctinct objects alpha.core.PointerSub

Other

Warning description Checker Explanation
Part of capability value used in binary operator cheri.CapabilityCopy CHERI C/C++ Programming Guide §4.6
Clone this wiki locally