 
                            ...
Passing a pointer value to a deallocation function that was not previously obtained by the matching allocation function results in undefined behavior, which can lead to exploitable vulnerabilities.
| Rule | Severity | Likelihood | Remediation Cost | Priority | Level | 
|---|---|---|---|---|---|
| MEM56-CPP | High | Likely | Medium | P18 | L1 | 
...
| SEI CERT C++ Coding Standard | MEM50-CPP. Do not access freed memory MEM51-CPP. Properly deallocate dynamically allocated resources | 
| MITRE CWE | CWE-415, Double Free | 
Bibliography
| [ISO/IEC 14882-2014] | Subclause 20.8, "Smart Pointers" | 
...