From ab620f40844a837546497252849933ef2f685f4d Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Fri, 18 Jul 2025 06:06:42 -0500 Subject: [PATCH] py/mpprint: Fix printing pointers with upper bit set. On a build like nanbox, `mp_uint_t` is wider than `u/intptr_t`. Using a signed type for fetching pointer values resulted in erroneous results: like `` instead of ``. Signed-off-by: Jeff Epler --- py/mpprint.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/py/mpprint.c b/py/mpprint.c index e56b949ddd..f1d8bd0c57 100644 --- a/py/mpprint.c +++ b/py/mpprint.c @@ -530,7 +530,7 @@ int mp_vprintf(const mp_print_t *print, const char *fmt, va_list args) { char fmt_chr = *fmt; mp_uint_t val; if (fmt_chr == 'p' || fmt_chr == 'P') { - val = va_arg(args, intptr_t); + val = va_arg(args, uintptr_t); } #if SUPPORT_LL_FORMAT else if (long_long_arg) {