mirror of
https://github.com/github/codeql.git
synced 2026-04-27 17:55:19 +02:00
C++: Avoid outputting a cartesian product in AliasedSSA's getOverlap.
This commit is contained in:
@@ -688,6 +688,11 @@ private Overlap getExtentOverlap(MemoryLocation0 def, MemoryLocation0 use) {
|
||||
(
|
||||
// EntireAllocationMemoryLocation exactly overlaps itself.
|
||||
use instanceof EntireAllocationMemoryLocation and
|
||||
(
|
||||
def.getAnAllocation() = use.getAnAllocation() or
|
||||
not exists(def.getAnAllocation()) or
|
||||
not exists(def.getAnAllocation())
|
||||
) and
|
||||
result instanceof MustExactlyOverlap
|
||||
or
|
||||
not use instanceof EntireAllocationMemoryLocation and
|
||||
|
||||
Reference in New Issue
Block a user