diff options
Diffstat (limited to 'lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp')
| -rw-r--r-- | lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp | 15 | 
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp b/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp index 26887be9f258..3bf8a1836b19 100644 --- a/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp +++ b/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp @@ -1,9 +1,8 @@  //== ArrayBoundCheckerV2.cpp ------------------------------------*- C++ -*--==//  // -//                     The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception  //  //===----------------------------------------------------------------------===//  // @@ -12,6 +11,7 @@  //  //===----------------------------------------------------------------------===// +#include "Taint.h"  #include "clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h"  #include "clang/AST/CharUnits.h"  #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h" @@ -25,6 +25,7 @@  using namespace clang;  using namespace ento; +using namespace taint;  namespace {  class ArrayBoundCheckerV2 : @@ -205,7 +206,7 @@ void ArrayBoundCheckerV2::checkLocation(SVal location, bool isLoad,      // If we are under constrained and the index variables are tainted, report.      if (state_exceedsUpperBound && state_withinUpperBound) {        SVal ByteOffset = rawOffset.getByteOffset(); -      if (state->isTainted(ByteOffset)) { +      if (isTainted(state, ByteOffset)) {          reportOOB(checkerContext, state_exceedsUpperBound, OOB_Tainted,                    llvm::make_unique<TaintBugVisitor>(ByteOffset));          return; @@ -354,3 +355,7 @@ RegionRawOffsetV2 RegionRawOffsetV2::computeOffset(ProgramStateRef state,  void ento::registerArrayBoundCheckerV2(CheckerManager &mgr) {    mgr.registerChecker<ArrayBoundCheckerV2>();  } + +bool ento::shouldRegisterArrayBoundCheckerV2(const LangOptions &LO) { +  return true; +}  | 
