From 8c6a36880d74f6487dd656e851700b706be00a15 Mon Sep 17 00:00:00 2001
From: chrchr-github <78114321+chrchr-github@users.noreply.github.com>
Date: Wed, 21 Oct 2026 16:12:58 +0200
Subject: [PATCH 1/3] Update std.cfg
---
cfg/std.cfg | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/cfg/std.cfg b/cfg/std.cfg
index 6c434b8715c..e2595de5fd7 100644
--- a/cfg/std.cfg
+++ b/cfg/std.cfg
@@ -3974,12 +3974,12 @@ The obsolete function 'gets' is called. With 'gets' you'll get a buffer overrun
-
+
-
+
@@ -4016,12 +4016,12 @@ The obsolete function 'gets' is called. With 'gets' you'll get a buffer overrun
-
+
-
+
From 1367f169d6faa8a22f266b01a5c2e23ee7e38090 Mon Sep 17 00:00:00 2001
From: chrchr-github <78114321+chrchr-github@users.noreply.github.com>
Date: Wed, 21 Oct 2026 16:14:39 +0200
Subject: [PATCH 2/3] Update std.c
---
test/cfg/std.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/test/cfg/std.c b/test/cfg/std.c
index 997f8204f73..eb026d6171d 100644
--- a/test/cfg/std.c
+++ b/test/cfg/std.c
@@ -616,6 +616,20 @@ void bufferAccessOutOfBounds_wcsncpy()
wcsncpy(s, L"abc", 17);
}
+void bufferAccessOutOfBounds_wmemcpy()
+{
+ wchar_t a[4];
+ // cppcheck-suppress bufferAccessOutOfBounds
+ wmemcpy(a, L"abcd", 5);
+}
+
+int bufferAccessOutOfBounds_wmemcmp(const wchar_t* b)
+{
+ const wchar_t a[4] = { L'a', L'b', L'c', L'd' };
+ // cppcheck-suppress bufferAccessOutOfBounds
+ return wmemcmp(a, b, 5);
+}
+
int nullPointer_wcsncmp(const wchar_t* s1, const wchar_t* s2, size_t n)
{
// cppcheck-suppress nullPointer
From 12ac67f0b037e644b96494caa3fa83b3b8cd6f6b Mon Sep 17 00:00:00 2001
From: chrchr-github
Date: Thu, 22 Oct 2026 20:27:32 +0200
Subject: [PATCH 3/3] Fix more functions
---
cfg/gnu.cfg | 6 +++---
cfg/std.cfg | 8 ++++----
test/cfg/gnu.c | 7 +++++++
test/cfg/std.c | 21 +++++++++++++++++++++
4 files changed, 35 insertions(+), 7 deletions(-)
diff --git a/cfg/gnu.cfg b/cfg/gnu.cfg
index 9a0b1652d32..af2fff93e59 100644
--- a/cfg/gnu.cfg
+++ b/cfg/gnu.cfg
@@ -650,7 +650,7 @@
-
+
@@ -659,12 +659,12 @@
-
+
-
+
diff --git a/cfg/std.cfg b/cfg/std.cfg
index e2595de5fd7..d9d289ec691 100644
--- a/cfg/std.cfg
+++ b/cfg/std.cfg
@@ -3928,7 +3928,7 @@ The obsolete function 'gets' is called. With 'gets' you'll get a buffer overrun
-
+
@@ -4081,13 +4081,13 @@ The obsolete function 'gets' is called. With 'gets' you'll get a buffer overrun
-
+
-
+
@@ -4141,7 +4141,7 @@ The obsolete function 'gets' is called. With 'gets' you'll get a buffer overrun
-
+
diff --git a/test/cfg/gnu.c b/test/cfg/gnu.c
index 42b37036411..830618c241d 100644
--- a/test/cfg/gnu.c
+++ b/test/cfg/gnu.c
@@ -376,6 +376,13 @@ wchar_t *nullPointer_wmempcpy(wchar_t *dest, const wchar_t *src, size_t n)
return wmempcpy(dest,src,n);
}
+void bufferAccessOutOfBounds_wmempcpy(const wchar_t *src)
+{
+ wchar_t buf[3];
+ // cppcheck-suppress bufferAccessOutOfBounds
+ wmempcpy(buf, src, 5);
+}
+
int uninitvar_getpw(uid_t uid, char *buf)
{
uid_t someUid;
diff --git a/test/cfg/std.c b/test/cfg/std.c
index eb026d6171d..21731f2cd4a 100644
--- a/test/cfg/std.c
+++ b/test/cfg/std.c
@@ -2951,6 +2951,27 @@ void *bufferAccessOutOfBounds_memchr(const void *s, int c, size_t n)
return memchr(s,c,n);
}
+bool bufferAccessOutOfBounds_wmemchr(wchar_t c)
+{
+ const wchar_t buf[] = {'a', 'b', 'c'};
+ // cppcheck-suppress bufferAccessOutOfBounds
+ return wmemchr(buf, c, 5) != NULL;
+}
+
+void bufferAccessOutOfBounds_wmemset(wchar_t c)
+{
+ wchar_t buf[3];
+ // cppcheck-suppress bufferAccessOutOfBounds
+ wmemset(buf, c, 5);
+}
+
+void bufferAccessOutOfBounds_wmemmove(const wchar_t* s)
+{
+ wchar_t d[3];
+ // cppcheck-suppress bufferAccessOutOfBounds
+ wmemmove(d, s, 5);
+}
+
void uninitvar_wmemchr(void)
{
const wchar_t *cs;