From 60857630c0e3dbcc7cf295e377de9641a0c0a53e Mon Sep 17 00:00:00 2001 From: Grissiom Date: Wed, 15 May 2013 20:16:03 +0800 Subject: [PATCH] simulator: fix serial_write printf("%s") will print a NULL terminated string, while rt_serial_write should print buffer for size length. This also fix segfault when the string is not null terminated but specified by size. --- bsp/simulator/drivers/serial.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bsp/simulator/drivers/serial.c b/bsp/simulator/drivers/serial.c index 8f7567e439..72cbad3baf 100755 --- a/bsp/simulator/drivers/serial.c +++ b/bsp/simulator/drivers/serial.c @@ -164,7 +164,7 @@ static rt_size_t rt_serial_write(rt_device_t dev, rt_off_t pos, const void *buff #endif level = rt_hw_interrupt_disable(); - printf("%s", (char *)buffer); + fwrite(buffer, size, 1, stdout); fflush(stdout); rt_hw_interrupt_enable(level); return size;