]> granicus.if.org Git - clang/commitdiff
[analyzer]Prevent infinite recursion(assume->checker:evalAssume->assume)
authorAnna Zaks <ganna@apple.com>
Mon, 24 Sep 2012 17:43:41 +0000 (17:43 +0000)
committerAnna Zaks <ganna@apple.com>
Mon, 24 Sep 2012 17:43:41 +0000 (17:43 +0000)
(Unfortunately, I do not have a good reduced test case for this.)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164541 91177308-0d34-0410-b5e6-96231b3b80d8

lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp

index da52a17ceff244263ab4c04069970d78e85434eb..bfd55f7dde4dd748e3ad45692e10d1dac631ac75 100644 (file)
@@ -115,7 +115,9 @@ ProgramStateRef SimpleConstraintManager::assume(ProgramStateRef state,
                                                NonLoc cond,
                                                bool assumption) {
   state = assumeAux(state, cond, assumption);
-  return SU.processAssume(state, cond, assumption);
+  if (NotifyAssumeClients)
+    return SU.processAssume(state, cond, assumption);
+  return state;
 }
 
 static BinaryOperator::Opcode NegateComparison(BinaryOperator::Opcode op) {