diff --git a/common/uart_buffering.c b/common/uart_buffering.c index b9c7f6d1ff..5f6580d73c 100644 --- a/common/uart_buffering.c +++ b/common/uart_buffering.c @@ -385,7 +385,10 @@ int uart_printf(const char *format, ...) { static const char int_chars[] = "0123456789abcdef"; static const char error_str[] = "ERROR"; - char intbuf[21]; /* Longest uint64 */ + char intbuf[33]; + /* Longest uint64 in decimal = 20 + * longest uint32 in binary = 32 + */ int dropped_chars = 0; int is_left; int pad_zero; @@ -468,8 +471,11 @@ int uart_printf(const char *format, ...) break; case 'x': case 'p': - base = 16; - break; + base = 16; + break; + case 'b': + base = 2; + break; default: format = error_str; }