From cf61a0639d8f3c38ed93876f27b4ae13c1e8b802 Mon Sep 17 00:00:00 2001 From: Zhongxing Xu Date: Thu, 5 Aug 2010 23:24:13 +0000 Subject: [PATCH] Don't assert on a file stream if its state is not tracked. Fix pr7831. llvm-svn: 110392 --- clang/lib/Checker/StreamChecker.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clang/lib/Checker/StreamChecker.cpp b/clang/lib/Checker/StreamChecker.cpp index 37129be2450f..b18ab2908c58 100644 --- a/clang/lib/Checker/StreamChecker.cpp +++ b/clang/lib/Checker/StreamChecker.cpp @@ -373,7 +373,10 @@ const GRState *StreamChecker::CheckDoubleClose(const CallExpr *CE, assert(Sym); const StreamState *SS = state->get(Sym); - assert(SS); + + // If the file stream is not tracked, return. + if (!SS) + return state; // Check: Double close a File Descriptor could cause undefined behaviour. // Conforming to man-pages