diff options
Diffstat (limited to 'lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp')
| -rw-r--r-- | lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp | 11 | 
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp b/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp index 60348c73584bc..d765315bb57bc 100644 --- a/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp @@ -24,7 +24,7 @@ using namespace ento;  namespace {  class CastToStructChecker : public Checker< check::PreStmt<CastExpr> > { -  mutable OwningPtr<BuiltinBug> BT; +  mutable std::unique_ptr<BuiltinBug> BT;  public:    void checkPreStmt(const CastExpr *CE, CheckerContext &C) const; @@ -58,10 +58,11 @@ void CastToStructChecker::checkPreStmt(const CastExpr *CE,    if (!OrigPointeeTy->isRecordType()) {      if (ExplodedNode *N = C.addTransition()) {        if (!BT) -        BT.reset(new BuiltinBug("Cast from non-struct type to struct type", -                            "Casting a non-structure type to a structure type " -                            "and accessing a field can lead to memory access " -                            "errors or data corruption.")); +        BT.reset( +            new BuiltinBug(this, "Cast from non-struct type to struct type", +                           "Casting a non-structure type to a structure type " +                           "and accessing a field can lead to memory access " +                           "errors or data corruption."));        BugReport *R = new BugReport(*BT,BT->getDescription(), N);        R->addRange(CE->getSourceRange());        C.emitReport(R);  | 
