[clang] Add absl::{Span,string_view} to UnsafeBufferUsage analysis (PR #127698)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Feb 18 13:23:06 PST 2025
https://github.com/mxms0 created https://github.com/llvm/llvm-project/pull/127698
Add support for absl Span and string_view types to warn on their unsafe usage.
>From 5f8bbc6abd98948186c4682035299be47e1550bc Mon Sep 17 00:00:00 2001
From: mxms <mxms at google.com>
Date: Tue, 18 Feb 2025 16:21:18 -0500
Subject: [PATCH] Add absl::{Span,string_view} to UnsafeBufferUsage analysis
---
clang/lib/Analysis/UnsafeBufferUsage.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/clang/lib/Analysis/UnsafeBufferUsage.cpp b/clang/lib/Analysis/UnsafeBufferUsage.cpp
index c51398698922b..e0f9a683bdb6c 100644
--- a/clang/lib/Analysis/UnsafeBufferUsage.cpp
+++ b/clang/lib/Analysis/UnsafeBufferUsage.cpp
@@ -891,7 +891,9 @@ AST_MATCHER(CallExpr, hasUnsafeSnprintfBuffer) {
// Pattern 1:
static StringRef SizedObjs[] = {"span", "array", "vector",
- "basic_string_view", "basic_string"};
+ "basic_string_view", "basic_string",
+ // Support absl::Span and absl::string_view
+ "Span", "string_view" };
Buf = Buf->IgnoreParenImpCasts();
Size = Size->IgnoreParenImpCasts();
if (auto *MCEPtr = dyn_cast<CXXMemberCallExpr>(Buf))
More information about the cfe-commits
mailing list