C++: Improve cpp/memory-may-not-be-freed #17110
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Improve
cpp/memory-may-not-be-freed
. The query has code that recognizes when a function returns an allocation, i.e. it behaves like an allocator. This code excludes cases where the allocation is copied to a field or global variable in addition to being returned, acknowledging that such cases are probably not allocators / are beyond the scope of analysis by this query. However if the allocation is made into a field, not copied into a field, this was being overlooked (causing large numbers of false positives for some users).