From 39edf4abcafda429f33f98c31ae11bf6a27ab18e Mon Sep 17 00:00:00 2001 From: "Ondrej Zajicek (work)" Date: Thu, 18 Jul 2019 01:57:26 +0200 Subject: [PATCH] Lib: Fix print of 64-bit router id Mismatched types to printf(). The old code coincidentally worked on amd64 due to its calling conventions. Thanks to Maximilian Eschenbacher for the bugreport. --- lib/printf.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/printf.c b/lib/printf.c index c2065d9a..8f2cccb3 100644 --- a/lib/printf.c +++ b/lib/printf.c @@ -356,14 +356,14 @@ int bvsnprintf(char *buf, int size, const char *fmt, va_list args) if (qualifier == 'l') { X = va_arg(args, u64); bsprintf(ipbuf, "%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x", - ((X >> 56) & 0xff), - ((X >> 48) & 0xff), - ((X >> 40) & 0xff), - ((X >> 32) & 0xff), - ((X >> 24) & 0xff), - ((X >> 16) & 0xff), - ((X >> 8) & 0xff), - (X & 0xff)); + (uint) ((X >> 56) & 0xff), + (uint) ((X >> 48) & 0xff), + (uint) ((X >> 40) & 0xff), + (uint) ((X >> 32) & 0xff), + (uint) ((X >> 24) & 0xff), + (uint) ((X >> 16) & 0xff), + (uint) ((X >> 8) & 0xff), + (uint) (X & 0xff)); } else {