This is an automated email from the ASF dual-hosted git repository. janc pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mynewt-core.git
commit 52ca2a4357a20aeb8543cd8febd04eab1cf0da14 Author: Michal Gorecki <[email protected]> AuthorDate: Tue Feb 20 10:02:58 2024 +0100 libc/baselibc: Fix size overflow compiler error On some compilers (for example 64-bit gcc 9.4.0) passing SIZE_MAX/2 to vsnprintf as buffer size was causing an compilation error. INT_MAX/2 should also be enough for buffer size and now it compiles without problems. This also removes force inclusion of "main" symbol. --- libc/baselibc/pkg.yml | 1 - libc/baselibc/src/sprintf.c | 3 ++- libc/baselibc/src/vsprintf.c | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/libc/baselibc/pkg.yml b/libc/baselibc/pkg.yml index ee7ff016b..b751946e8 100644 --- a/libc/baselibc/pkg.yml +++ b/libc/baselibc/pkg.yml @@ -36,4 +36,3 @@ pkg.cflags: pkg.lflags: - -specs=nosys.specs: - - -umain diff --git a/libc/baselibc/src/sprintf.c b/libc/baselibc/src/sprintf.c index 9da6ae743..32e6b4c41 100644 --- a/libc/baselibc/src/sprintf.c +++ b/libc/baselibc/src/sprintf.c @@ -4,6 +4,7 @@ #include <stdio.h> #include <stdint.h> +#include <limits.h> int sprintf(char *buffer, const char *format, ...) { @@ -11,7 +12,7 @@ int sprintf(char *buffer, const char *format, ...) int rv; va_start(ap, format); - rv = vsnprintf(buffer, SIZE_MAX/2, format, ap); + rv = vsnprintf(buffer, INT_MAX/2, format, ap); va_end(ap); return rv; diff --git a/libc/baselibc/src/vsprintf.c b/libc/baselibc/src/vsprintf.c index c88201e76..3d107d3a4 100644 --- a/libc/baselibc/src/vsprintf.c +++ b/libc/baselibc/src/vsprintf.c @@ -4,8 +4,9 @@ #include <stdio.h> #include <stdint.h> +#include <limits.h> int vsprintf(char *buffer, const char *format, va_list ap) { - return vsnprintf(buffer, SIZE_MAX/2, format, ap); + return vsnprintf(buffer, INT_MAX/2, format, ap); }
