AntiPattern
Double-Free Ownership Mismatch
double-free-ownership-mismatch
Caller-owned pointers get freed inside callee error/cleanup paths, so later fail-handlers or caller destructors free the same memory again; additionally, related logic sometimes uses variables set only in the fast path unconditionally, amplifying crashes.