This revision was automatically updated to reflect the committed changes. Closed by commit rC326782: [analyzer] CStringChecker.cpp: Remove the duplicated check about null… (authored by henrywong, committed by ).
Changed prior to commit: https://reviews.llvm.org/D44075?vs=136936&id=137167#toc Repository: rC Clang https://reviews.llvm.org/D44075 Files: lib/StaticAnalyzer/Checkers/CStringChecker.cpp Index: lib/StaticAnalyzer/Checkers/CStringChecker.cpp =================================================================== --- lib/StaticAnalyzer/Checkers/CStringChecker.cpp +++ lib/StaticAnalyzer/Checkers/CStringChecker.cpp @@ -1033,21 +1033,6 @@ if (stateNonZeroSize) { state = stateNonZeroSize; - // Ensure the destination is not null. If it is NULL there will be a - // NULL pointer dereference. - state = checkNonNull(C, state, Dest, destVal); - if (!state) - return; - - // Get the value of the Src. - SVal srcVal = state->getSVal(Source, LCtx); - - // Ensure the source is not null. If it is NULL there will be a - // NULL pointer dereference. - state = checkNonNull(C, state, Source, srcVal); - if (!state) - return; - // Ensure the accesses are valid and that the buffers do not overlap. const char * const writeWarning = "Memory copy function overflows destination buffer"; @@ -2033,12 +2018,6 @@ return; } - // Ensure the memory area is not null. - // If it is NULL there will be a NULL pointer dereference. - State = checkNonNull(C, StateNonZeroSize, Mem, MemVal); - if (!State) - return; - State = CheckBufferAccess(C, State, Size, Mem); if (!State) return;
Index: lib/StaticAnalyzer/Checkers/CStringChecker.cpp =================================================================== --- lib/StaticAnalyzer/Checkers/CStringChecker.cpp +++ lib/StaticAnalyzer/Checkers/CStringChecker.cpp @@ -1033,21 +1033,6 @@ if (stateNonZeroSize) { state = stateNonZeroSize; - // Ensure the destination is not null. If it is NULL there will be a - // NULL pointer dereference. - state = checkNonNull(C, state, Dest, destVal); - if (!state) - return; - - // Get the value of the Src. - SVal srcVal = state->getSVal(Source, LCtx); - - // Ensure the source is not null. If it is NULL there will be a - // NULL pointer dereference. - state = checkNonNull(C, state, Source, srcVal); - if (!state) - return; - // Ensure the accesses are valid and that the buffers do not overlap. const char * const writeWarning = "Memory copy function overflows destination buffer"; @@ -2033,12 +2018,6 @@ return; } - // Ensure the memory area is not null. - // If it is NULL there will be a NULL pointer dereference. - State = checkNonNull(C, StateNonZeroSize, Mem, MemVal); - if (!State) - return; - State = CheckBufferAccess(C, State, Size, Mem); if (!State) return;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits