mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-04-07 23:02:40 +02:00
75 lines
2.4 KiB
Diff
75 lines
2.4 KiB
Diff
Patch-Source: https://gist.github.com/q66/c780c321caa630a7052035c18bac6655
|
|
https://github.com/llvm/llvm-project/issues/62893
|
|
--
|
|
From f2f90378d4a2c1f744c85d327c67ae8e862fdc7f Mon Sep 17 00:00:00 2001
|
|
From: Daniel Kolesa <daniel@octaforge.org>
|
|
Date: Tue, 23 May 2023 21:09:55 +0200
|
|
Subject: [PATCH] disambiguate ScopedString::append
|
|
|
|
On some targets, the definition of va_list may result in a wrong
|
|
overload of append getting picked up when passing a single string
|
|
as a variadic argument.
|
|
---
|
|
lib/scudo/standalone/report.cpp | 2 +-
|
|
lib/scudo/standalone/string_utils.cpp | 6 +++---
|
|
lib/scudo/standalone/string_utils.h | 2 +-
|
|
3 files changed, 5 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/report.cpp b/report.cpp
|
|
index a37faac..9cb70ad 100644
|
|
--- a/report.cpp
|
|
+++ b/report.cpp
|
|
@@ -21,7 +21,7 @@ public:
|
|
void append(const char *Format, ...) {
|
|
va_list Args;
|
|
va_start(Args, Format);
|
|
- Message.append(Format, Args);
|
|
+ Message.vappend(Format, Args);
|
|
va_end(Args);
|
|
}
|
|
NORETURN ~ScopedErrorReport() {
|
|
diff --git a/string_utils.cpp b/string_utils.cpp
|
|
index 13fdb9c..3d921ba 100644
|
|
--- a/string_utils.cpp
|
|
+++ b/string_utils.cpp
|
|
@@ -218,7 +218,7 @@ int formatString(char *Buffer, uptr BufferLength, const char *Format, ...) {
|
|
return Res;
|
|
}
|
|
|
|
-void ScopedString::append(const char *Format, va_list Args) {
|
|
+void ScopedString::vappend(const char *Format, va_list Args) {
|
|
va_list ArgsCopy;
|
|
va_copy(ArgsCopy, Args);
|
|
// formatString doesn't currently support a null buffer or zero buffer length,
|
|
@@ -239,7 +239,7 @@ void ScopedString::append(const char *Format, va_list Args) {
|
|
void ScopedString::append(const char *Format, ...) {
|
|
va_list Args;
|
|
va_start(Args, Format);
|
|
- append(Format, Args);
|
|
+ vappend(Format, Args);
|
|
va_end(Args);
|
|
}
|
|
|
|
@@ -247,7 +247,7 @@ void Printf(const char *Format, ...) {
|
|
va_list Args;
|
|
va_start(Args, Format);
|
|
ScopedString Msg;
|
|
- Msg.append(Format, Args);
|
|
+ Msg.vappend(Format, Args);
|
|
outputRaw(Msg.data());
|
|
va_end(Args);
|
|
}
|
|
diff --git a/string_utils.h b/string_utils.h
|
|
index 4190119..a4cab52 100644
|
|
--- a/string_utils.h
|
|
+++ b/string_utils.h
|
|
@@ -25,7 +25,7 @@ public:
|
|
String.clear();
|
|
String.push_back('\0');
|
|
}
|
|
- void append(const char *Format, va_list Args);
|
|
+ void vappend(const char *Format, va_list Args);
|
|
void append(const char *Format, ...) FORMAT(2, 3);
|
|
void output() const { outputRaw(String.data()); }
|
|
void reserve(size_t Size) { String.reserve(Size + 1); }
|