From 780c09e3e452568e7befb26c0ffd4ae7f6d1a0cb Mon Sep 17 00:00:00 2001 From: BernardXiong Date: Sun, 11 Feb 2018 13:57:51 +0800 Subject: [libc] Fix the O_CREAT issue. libc_stdio_set_console/newlib uses fopen to open console device, which has O_CREAT flag and cause fault. --- components/libc/compilers/newlib/stdio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'components/libc/compilers') diff --git a/components/libc/compilers/newlib/stdio.c b/components/libc/compilers/newlib/stdio.c index f28383818d..9a225622b5 100644 --- a/components/libc/compilers/newlib/stdio.c +++ b/components/libc/compilers/newlib/stdio.c @@ -81,7 +81,9 @@ int libc_stdio_set_console(const char* device_name, int mode) _GLOBAL_REENT->__sdidinit = 1; } - return fileno(std_console); + if (std_console) return fileno(std_console); + + return -1; } int libc_stdio_get_console(void) { -- cgit v1.3.1