[clang-tools-extra] r374712 - [clang-tidy] bugprone-not-null-terminated-result: checker adjustments 2

Csaba Dabis via cfe-commits cfe-commits at lists.llvm.org
Sun Oct 13 03:20:58 PDT 2019


Author: charusso
Date: Sun Oct 13 03:20:58 2019
New Revision: 374712

URL: http://llvm.org/viewvc/llvm-project?rev=374712&view=rev
Log:
[clang-tidy] bugprone-not-null-terminated-result: checker adjustments 2

Modified:
    clang-tools-extra/trunk/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp

Modified: clang-tools-extra/trunk/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp?rev=374712&r1=374711&r2=374712&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp (original)
+++ clang-tools-extra/trunk/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp Sun Oct 13 03:20:58 2019
@@ -59,7 +59,8 @@ static const Expr *getDestCapacityExpr(c
 
 // Returns the length of \p E as an 'IntegerLiteral' or a 'StringLiteral'
 // without the null-terminator.
-static int getLength(const Expr *E, const MatchFinder::MatchResult &Result) {
+static unsigned getLength(const Expr *E,
+                          const MatchFinder::MatchResult &Result) {
   if (!E)
     return 0;
 
@@ -71,10 +72,10 @@ static int getLength(const Expr *E, cons
       if (!isa<ParmVarDecl>(LengthVD))
         if (const Expr *LengthInit = LengthVD->getInit())
           if (LengthInit->EvaluateAsInt(Length, *Result.Context))
-            return Length.Val.getInt().getSExtValue();
+            return Length.Val.getInt().getZExtValue();
 
   if (const auto *LengthIL = dyn_cast<IntegerLiteral>(E))
-    return LengthIL->getValue().getSExtValue();
+    return LengthIL->getValue().getZExtValue();
 
   if (const auto *StrDRE = dyn_cast<DeclRefExpr>(E))
     if (const auto *StrVD = dyn_cast<VarDecl>(StrDRE->getDecl()))
@@ -306,7 +307,7 @@ static void lengthExprHandle(const Expr
   // Try to obtain an 'IntegerLiteral' and adjust it.
   if (!IsMacroDefinition) {
     if (const auto *LengthIL = dyn_cast<IntegerLiteral>(LengthExpr)) {
-      size_t NewLength = LengthIL->getValue().getSExtValue() +
+      size_t NewLength = LengthIL->getValue().getZExtValue() +
                          (LengthHandle == LengthHandleKind::Increase
                               ? (isInjectUL(Result) ? 1UL : 1)
                               : -1);
@@ -327,7 +328,7 @@ static void lengthExprHandle(const Expr
     const Expr *RhsExpr = BO->getRHS()->IgnoreImpCasts();
 
     if (const auto *LhsIL = dyn_cast<IntegerLiteral>(LhsExpr)) {
-      if (LhsIL->getValue().getSExtValue() == 1) {
+      if (LhsIL->getValue().getZExtValue() == 1) {
         Diag << FixItHint::CreateRemoval(
             {LhsIL->getBeginLoc(),
              RhsExpr->getBeginLoc().getLocWithOffset(-1)});
@@ -336,7 +337,7 @@ static void lengthExprHandle(const Expr
     }
 
     if (const auto *RhsIL = dyn_cast<IntegerLiteral>(RhsExpr)) {
-      if (RhsIL->getValue().getSExtValue() == 1) {
+      if (RhsIL->getValue().getZExtValue() == 1) {
         Diag << FixItHint::CreateRemoval(
             {LhsExpr->getEndLoc().getLocWithOffset(1), RhsIL->getEndLoc()});
         return;
@@ -803,7 +804,7 @@ void NotNullTerminatedResultCheck::check
         StringRef ValueStr = StringRef(T.getLiteralData(), T.getLength());
         llvm::APInt IntValue;
         ValueStr.getAsInteger(10, IntValue);
-        AreSafeFunctionsWanted = IntValue.getSExtValue();
+        AreSafeFunctionsWanted = IntValue.getZExtValue();
       }
 
       ++It;




More information about the cfe-commits mailing list