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.md
source content

Pointer Subtraction Detection

Detection Workflow

  1. Identify pointer subtractions: Find all pointer subtraction operations, locate size calculations using pointers, identify pointer arithmetic for bounds, map memory operations using pointer math
  2. Analyze pointer relationships: Verify pointers are from same array, check pointer alignment, assess pointer validity, verify pointer types
  3. Check result usage: Trace subtraction result to usage, check for integer underflow, assess impact on memory operations, verify bounds checking logic
  4. 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

  • patterns.md
    - Detailed detection patterns and exploitation scenarios
  • examples.md
    - Example analysis cases and code samples
  • references.md
    - CWE references and mitigation strategies