SafeStringCopy log fix (#1858)

* Fix logging on SafeStringCopy overflow failure

* Fix CRASH() macro to not take varargs

Didn't work, probably a remnant of a different iteration I made.

* Fix ValidateChannel CRASH call

---------

Co-authored-by: Luke Street <luke@street.dev>
This commit is contained in:
Pieter-Jan Briers
2026-05-28 07:49:54 +02:00
committed by GitHub
parent e7e04b7c15
commit e70fef0650
3 changed files with 6 additions and 7 deletions
+1 -1
View File
@@ -225,7 +225,7 @@ using std::isnan;
#define IS_REF_NONNULL(r) (1)
#endif
#define CRASH(msg, ...) OSPanic(__FILE__, __LINE__, "%s", msg, ##__VA_ARGS__)
#define CRASH(msg) OSPanic(__FILE__, __LINE__, "%s", msg)
// Some basic macros that are more convenient than putting down #if blocks for one-line changes.
#if TARGET_PC
+3 -4
View File
@@ -85,10 +85,9 @@ static bool ValidateChannelWaveFormat(const JASDsp::TChannel& channel) {
*/
static void ValidateChannel(const JASDsp::TChannel& channel) {
if (!ValidateChannelWaveFormat(channel)) {
CRASH(
"Unable to handle channel format: %02x, %02x\n",
channel.mSamplesPerBlock,
channel.mBytesPerBlock);
const auto msg = fmt::format("Unable to handle channel format: {:02x}, {:02x}\n",
channel.mSamplesPerBlock, channel.mBytesPerBlock);
CRASH(msg.c_str());
}
}
+2 -2
View File
@@ -45,10 +45,10 @@ void SafeStringCopy(char* buffer, size_t bufSize, const char* src) {
const auto srcSize = strlen(src);
if (srcSize > bufSize - 1) [[unlikely]] {
const auto msg = fmt::format(
"Destination buffer too small! Need %d, have %d",
"Destination buffer too small! Need {}, have {}",
srcSize + 1,
bufSize);
CRASH("%s", msg.c_str());
CRASH(msg.c_str());
}
strncpyProxy(buffer, src, bufSize);