summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Reinauer <stefan.reinauer@coreboot.org>2017-07-20 00:53:53 +0200
committerMartin Roth <martinroth@google.com>2017-07-21 15:45:41 +0000
commite2804c14a48ce18db2f225a738f681d1b79f8a40 (patch)
tree34316bd86a6e456339f5e30e0799ec9483e96476
parent3876f2422120a1b8dce172bea8c35ab75c39c0e0 (diff)
util/vgabios: Don't call redefined printk in printk
A few pieces of coreboot code (like the video bios emulator) are imported from other code bases, and hence might call printf. In order to see the output, we redefine printf to printk. However, when we are re-importing this code in a userspace utility, we might call printk instead of printf if we're not careful. A good fix for this would be to not call printf in coreboot ever. As a short term fix to keep testbios from segfaulting, we just don't call printf from printk, so we don't cause our own stack to overflow. Change-Id: I789075422dd8c5f8069d576fa7baf4176f6caf55 Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-on: https://review.coreboot.org/20658 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Martin Roth <martinroth@google.com>
-rw-r--r--util/vgabios/testbios.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/util/vgabios/testbios.c b/util/vgabios/testbios.c
index 095ea48ec9..ba63ab3031 100644
--- a/util/vgabios/testbios.c
+++ b/util/vgabios/testbios.c
@@ -102,7 +102,10 @@ int printk(int msg_level, const char *fmt, ...)
va_list args;
int i;
- printf ("<%d> ", msg_level);
+ putchar('<');
+ putchar('0' + msg_level);
+ putchar('>');
+ putchar(' ');
va_start(args, fmt);
i = vprintf(fmt, args);
va_end(args);