RULE-22-16
,ERR57-CPP
,A15-1-4
-MutexObjectsNotAlwaysUnlocked.ql
,DoNotLeakResourcesWhenHandlingExceptions.ql
,ValidResourcesStateBeforeThrow.ql
:- Shared module
ResourceLeakAnalysis.qll
changed to not get aliases recursively for simplicity and improved performance. The recent update to these queries had logic intending to handle the case where an allocation node is an alias of a parent node, and the free operation releases that parent node. However, the behavior was incorrectly defined and not working, and in the presence of performance issues this behavior has been removed. - (
RULE-22-16
only) The alias behavior has been updated to compare expressions withHashCons
instead ofGlobalValueNumbering
for higher performance. GVN is more expensive generally, seemed to introduce low performance joins secondarily, and is stricter thanHashCons
in a contravening position, meaning a stricter analysis introduces a higher likelihood of false positives.
- Shared module