Claude-skill-registry detecting-pointer-subtraction
Detects unsafe pointer subtraction operations that can lead to incorrect size calculations and integer underflow. Use when analyzing pointer arithmetic, size calculations, or investigating buffer sizing issues.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/detecting-pointer-subtraction" ~/.claude/skills/majiayu000-claude-skill-registry-detecting-pointer-subtraction && rm -rf "$T"
manifest:
skills/data/detecting-pointer-subtraction/SKILL.mdsource content
Pointer Subtraction Detection
Detection Workflow
- Identify pointer subtractions: Find all pointer subtraction operations, locate size calculations using pointers, identify pointer arithmetic for bounds, map memory operations using pointer math
- Analyze pointer relationships: Verify pointers are from same array, check pointer alignment, assess pointer validity, verify pointer types
- Check result usage: Trace subtraction result to usage, check for integer underflow, assess impact on memory operations, verify bounds checking logic
- Assess security impact: Can underflow cause overflow? Can it bypass security checks? What's the potential impact? Is it exploitable?
Key Patterns
- Size calculation errors: using pointer subtraction for size calculation, subtracting pointers from different arrays, incorrect pointer arithmetic for buffer sizes, size calculation without alignment consideration
- Integer underflow: pointer subtraction causing underflow, unsigned integer wraparound, negative results treated as large positive, size calculations going negative
- Bounds checking issues: using pointer subtraction for bounds checks, incorrect comparison results, off-by-one in pointer arithmetic, misaligned pointer operations
- Memory operations: memcpy with pointer-subtracted size, malloc with pointer-subtracted size, loop bounds from pointer subtraction, array indexing from pointer subtraction
Output Format
Report with: id, type, subtype, severity, confidence, location, vulnerability, subtraction_operation, start_pointer, end_pointer, result_type, risk, exploitable, attack_scenario, impact, mitigation.
Severity Guidelines
- HIGH: Pointer subtraction causing buffer overflow
- MEDIUM: Pointer subtraction causing logic errors
- LOW: Minor pointer arithmetic issues
See Also
- Detailed detection patterns and exploitation scenariospatterns.md
- Example analysis cases and code samplesexamples.md
- CWE references and mitigation strategiesreferences.md