[clang] [clang] Fix OOB read in SemaSwift::validateSwiftFunctionName (PR #157139)

via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 5 10:00:12 PDT 2025


https://github.com/camc created https://github.com/llvm/llvm-project/pull/157139

Resolves #157075 

This was causing an assertion failure on _attribute__((swift_name(""))). Fix ensures this case shows the dwarn_attr_swift_name_function diagnostic as expected.

>From c7d92f87a75e21a3e571ca10b6359b49ce4ab0cd Mon Sep 17 00:00:00 2001
From: camc <69519329+camc at users.noreply.github.com>
Date: Fri, 5 Sep 2025 17:55:39 +0100
Subject: [PATCH] [clang] Fix OOB read in SemaSwift::validateSwiftFunctionName

---
 clang/lib/Sema/SemaSwift.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/clang/lib/Sema/SemaSwift.cpp b/clang/lib/Sema/SemaSwift.cpp
index d21d79344d5c7..f0c9cc8620af9 100644
--- a/clang/lib/Sema/SemaSwift.cpp
+++ b/clang/lib/Sema/SemaSwift.cpp
@@ -352,7 +352,7 @@ static bool validateSwiftFunctionName(Sema &S, const ParsedAttr &AL,
   else if (Name.consume_front("setter:"))
     IsSetter = true;
 
-  if (Name.back() != ')') {
+  if (Name.empty() || Name.back() != ')') {
     S.Diag(Loc, diag::warn_attr_swift_name_function) << AL;
     return false;
   }



More information about the cfe-commits mailing list