[clang] [-Wunsafe-buffer-usage] Allow strerror for %s in printf-like calls (PR #175208)
Oliver Hunt via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 9 12:56:59 PST 2026
================
@@ -771,6 +771,11 @@ static bool isNullTermPointer(const Expr *Ptr, ASTContext &Ctx) {
if (MD->getName() == "c_str" && RD->getName() == "basic_string")
return true;
}
+ if (auto *CE = dyn_cast<CallExpr>(Ptr->IgnoreParenImpCasts())) {
+ const FunctionDecl *F = CE->getDirectCallee();
+ if (F && F->getIdentifier() && F->getName() == "strerror")
----------------
ojhunt wrote:
I think we should have an array of known function names or better yet some way to annotate functions/return types - I believe that the -fbounds-safety work includes such an attribute, but using that attribute would seem to depend on having bounds safety enabled, which I think is a stricter requirement than we want for this.
https://github.com/llvm/llvm-project/pull/175208
More information about the cfe-commits
mailing list