diff --git a/src/libs/guestPrintf.cpp b/src/libs/guestPrintf.cpp index 0637d653d..afc61624f 100644 --- a/src/libs/guestPrintf.cpp +++ b/src/libs/guestPrintf.cpp @@ -527,7 +527,12 @@ static int kyty_printf_internal(bool sn, char* sn_s, size_t sn_n, const char* fo } else if (*format == '*') { // const int prec = (int)va_arg(va, int); const int prec = VaArg_int(va_list); - precision = prec > 0 ? static_cast(prec) : 0U; + if (prec < 0) { + // A negative dynamic precision is treated as omitted. + flags &= ~FLAGS_PRECISION; + } else { + precision = static_cast(prec); + } format++; } }