From d7ff92769001933036e4ad24160b299636e48125 Mon Sep 17 00:00:00 2001 From: Luca Bruni Date: Wed, 14 Jan 2026 13:05:25 -0500 Subject: [PATCH] [clr] Fix device printf pointer advancement issue with string format specifiers (#1313) --- projects/clr/rocclr/device/devhcprintf.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/projects/clr/rocclr/device/devhcprintf.cpp b/projects/clr/rocclr/device/devhcprintf.cpp index f3c505ab67..f5276dccec 100644 --- a/projects/clr/rocclr/device/devhcprintf.cpp +++ b/projects/clr/rocclr/device/devhcprintf.cpp @@ -67,11 +67,11 @@ static const uint64_t* consumeFloatingPoint(FILE* stream, int* outCount, const s template static const uint64_t* consumeCstring(FILE* stream, int* outCount, const std::string& spec, const uint64_t* ptr, Args... args) { - auto str = reinterpret_cast(ptr); - auto old = *outCount; + const char* str = reinterpret_cast(ptr); checkPrintf(stream, outCount, spec.c_str(), args..., str); - auto stringMemSize = *outCount - old + 1; - return ptr + (stringMemSize + 7) / 8; + size_t payloadBytes = std::strlen(str) + 1; + size_t qwords = (payloadBytes + 7) / 8; + return ptr + qwords; } template