Security context

What an agent needs to avoid regressing past fixes and find the next vuln in this repo.

crosire/reshade
main @ 0eff32e
8
Fixes
0
CVEs
HIGH
Peak severity
25.0%
Coverage
Highlights
Use-After-Free: 3 prior fixes. Scrutinize any change in this area.
source/d3d12/d3d12_command_queue.cpp: most-fixed (2 issues). Treat as high-risk during review.
2 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns

The bug types that recur here, drawn from past fixes, not open vulnerabilities.

Use-After-Free: Inadequate COM reference counting and tracking of wrapped D3D12 command queues relative to the device's lifetime lead to dangling pointers during queue release operations.
Stack-based Buffer Overflow: The preprocessor's RPN expression evaluator historically lacked boundary checking on its stack index, allowing nested or complex expressions to overflow the allocated stack limit.
Memory Corruption: Storing raw pointers to std::vector elements representing conditional preprocessor states (if_stack) causes use-after-free conditions when vector reallocations invalidate those pointers.