https://github.com/rohanjr created https://github.com/llvm/llvm-project/pull/177514
- Remove unneeded dynamic cast - Add consts - Simplify boolean condition >From 30ceb07d0d58e1de5014b155776b03ccf9a09377 Mon Sep 17 00:00:00 2001 From: Rohan Jacob-Rao <[email protected]> Date: Fri, 23 Jan 2026 01:11:29 +0000 Subject: [PATCH] [NFC][Clang] Minor cleanups in UnsafeLibcFunctionCallGadget::matches(). - Remove unneeded dynamic cast - Add consts - Simplify boolean condition --- clang/lib/Analysis/UnsafeBufferUsage.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/clang/lib/Analysis/UnsafeBufferUsage.cpp b/clang/lib/Analysis/UnsafeBufferUsage.cpp index a7530d1250729..95316623f5d88 100644 --- a/clang/lib/Analysis/UnsafeBufferUsage.cpp +++ b/clang/lib/Analysis/UnsafeBufferUsage.cpp @@ -2143,14 +2143,14 @@ class UnsafeLibcFunctionCallGadget : public WarningGadget { MatchResult &Result) { if (ignoreUnsafeLibcCall(Ctx, *S, Handler)) return false; - auto *CE = dyn_cast<CallExpr>(S); - if (!CE || !CE->getDirectCallee()) + const auto *CE = dyn_cast<CallExpr>(S); + if (!CE) return false; - const auto *FD = dyn_cast<FunctionDecl>(CE->getDirectCallee()); + const auto *FD = CE->getDirectCallee(); if (!FD) return false; - bool IsGlobalAndNotInAnyNamespace = + const bool IsGlobalAndNotInAnyNamespace = FD->isGlobal() && !FD->getEnclosingNamespaceContext()->isNamespace(); // A libc function must either be in the std:: namespace or a global @@ -2161,11 +2161,10 @@ class UnsafeLibcFunctionCallGadget : public WarningGadget { // printf, atoi, we consider it safe: if (CE->getNumArgs() == 1 && isNullTermPointer(CE->getArg(0), Ctx)) return false; - auto isSingleStringLiteralArg = false; - if (CE->getNumArgs() == 1) { - isSingleStringLiteralArg = - isa<clang::StringLiteral>(CE->getArg(0)->IgnoreParenImpCasts()); - } + + const bool isSingleStringLiteralArg = + CE->getNumArgs() == 1 && + isa<clang::StringLiteral>(CE->getArg(0)->IgnoreParenImpCasts()); if (!isSingleStringLiteralArg) { // (unless the call has a sole string literal argument): if (libc_func_matchers::isPredefinedUnsafeLibcFunc(*FD)) { _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
