mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-01 21:23:51 -09:00
This defconfig can be built without problems: BR2_x86_64=y BR2_GCC_VERSION_15_X=y BR2_PACKAGE_SAFECLIB=y However adding rocketlake as architecture variant BR2_x86_64=y BR2_x86_rocketlake=y BR2_GCC_VERSION_15_X=y BR2_PACKAGE_SAFECLIB=y causes a build error: str/vsnprintf_s.c: In function 'safec_ftoa.isra': str/vsnprintf_s.c:523:24: error: writing 32 bytes into a region of size 31 [-Werror=stringop-overflow=] 523 | buf[len++] = '0'; with gcc 15.x only, gcc =< 14.x is not affected, reason unknown. This commit adds two upstream commits which fix the problem. No autobuilder error was recorded. Signed-off-by: Bernd Kuhls <bernd@kuhls.net> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
51 lines
2.1 KiB
Diff
51 lines
2.1 KiB
Diff
From 79e1445f4b3689526b46121b1218cab802b9ae88 Mon Sep 17 00:00:00 2001
|
|
From: Bernd Kuhls <bernd@kuhls.net>
|
|
Date: Sat, 10 Jan 2026 12:16:22 +0100
|
|
Subject: [PATCH] vsnprintf_s: Increase Buffer Size by 1
|
|
|
|
Another fix similar to https://github.com/rurban/safeclib/commit/f59a0c8c1b5cf19cd0ed7f9bfb3a1e85f54113d0
|
|
|
|
In function 'safec_ntoa_format',
|
|
inlined from 'safec_ntoa_long' at str/vsnprintf_s.c:331:12:
|
|
str/vsnprintf_s.c:256:24: error: writing 32 bytes into a region of size 0 [-Werror=stringop-overflow=]
|
|
256 | buf[len++] = '0';
|
|
| ~~~~~~~~~~~^~~~~
|
|
str/vsnprintf_s.c: In function 'safec_ntoa_long':
|
|
str/vsnprintf_s.c:312:10: note: at offset 32 into destination object 'buf' of size 32
|
|
312 | char buf[PRINTF_NTOA_BUFFER_SIZE];
|
|
| ^~~
|
|
In function 'safec_ntoa_format',
|
|
inlined from 'safec_ntoa_long' at str/vsnprintf_s.c:331:12:
|
|
str/vsnprintf_s.c:260:24: error: writing 32 bytes into a region of size 0 [-Werror=stringop-overflow=]
|
|
260 | buf[len++] = '0';
|
|
| ~~~~~~~~~~~^~~~~
|
|
str/vsnprintf_s.c: In function 'safec_ntoa_long':
|
|
str/vsnprintf_s.c:312:10: note: at offset 32 into destination object 'buf' of size 32
|
|
312 | char buf[PRINTF_NTOA_BUFFER_SIZE];
|
|
| ^~~
|
|
cc1: all warnings being treated as errors
|
|
|
|
Upstream: https://github.com/rurban/safeclib/commit/79e1445f4b3689526b46121b1218cab802b9ae88
|
|
|
|
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
|
|
---
|
|
src/str/vsnprintf_s.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/src/str/vsnprintf_s.c b/src/str/vsnprintf_s.c
|
|
index 0b62c3cb..cf8e866e 100644
|
|
--- a/src/str/vsnprintf_s.c
|
|
+++ b/src/str/vsnprintf_s.c
|
|
@@ -309,7 +309,7 @@ static size_t safec_ntoa_long(out_fct_type out, const char *funcname,
|
|
unsigned long value, bool negative,
|
|
unsigned long base, unsigned int prec,
|
|
unsigned int width, unsigned int flags) {
|
|
- char buf[PRINTF_NTOA_BUFFER_SIZE];
|
|
+ char buf[PRINTF_NTOA_BUFFER_SIZE + 1];
|
|
size_t len = 0U;
|
|
|
|
// no hash for 0 values
|
|
--
|
|
2.47.3
|
|
|