RULE-22-16,ERR57-CPP,A15-1-4-MutexObjectsNotAlwaysUnlocked.ql,DoNotLeakResourcesWhenHandlingExceptions.ql,ValidResourcesStateBeforeThrow.ql:- Shared module
ResourceLeakAnalysis.qllchanged 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-16only) The alias behavior has been updated to compare expressions withHashConsinstead ofGlobalValueNumberingfor higher performance. GVN is more expensive generally, seemed to introduce low performance joins secondarily, and is stricter thanHashConsin a contravening position, meaning a stricter analysis introduces a higher likelihood of false positives.
- Shared module