| name | security/memory-safety |
| description | Memory Safety security skill |
Memory Safety
C's primary vulnerability class. Buffer overflows, use-after-free, and integer issues remain the top attack vectors in native code.
ikigai Application
talloc mitigates but doesn't eliminate: Hierarchical ownership prevents leaks but not overflows or UAF within a context's lifetime.
Critical patterns:
- Bounds check ALL array access before use
- Validate sizes before allocation:
if (n > SIZE_MAX / elem_size) return ERR(...) - Never trust size values from external sources
- Use
talloc_array()not manual multiplication
Integer overflow risks:
size_tmultiplication for buffer sizes- Signed/unsigned conversion in comparisons
- Off-by-one in loop bounds
Detection tools:
- ASan (
make BUILD=sanitize) - buffer overflow, UAF - UBSan - undefined behavior, integer overflow
- Valgrind - memory errors, leaks
Review red flags: Manual pointer arithmetic, memcpy with computed sizes, array indexing without bounds check.