[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