From 3241cf5966359a68e936a35c390a0434d3db6e43 Mon Sep 17 00:00:00 2001 From: orbitcowboy Date: Fri, 5 Jan 2024 12:58:27 +0100 Subject: [PATCH] Ticket 6306: Added regression test and mention suppression in comment (#5835) --- test/cfg/std.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/cfg/std.cpp b/test/cfg/std.cpp index 86dde6e17..8a2eafb39 100644 --- a/test/cfg/std.cpp +++ b/test/cfg/std.cpp @@ -4290,6 +4290,28 @@ void nullPointer_istream_read(std::istream &f) f.read(NULL, 10); } +std::size_t nullPointer_strxfrm(char *dest, const char *src, std::size_t count) +{ + (void)strxfrm(dest, src, count); + // In case the 3rd argument is 0, the 1st argument is permitted to be a null pointer. (#6306) + (void)strxfrm(nullptr, src, 0); + (void)strxfrm(nullptr, src, 1); + (void)strxfrm(nullptr, src, count); + // cppcheck-suppress nullPointer + return strxfrm(dest, nullptr, count); +} + +std::size_t nullPointer_wcsxfrm(wchar_t *dest, const wchar_t *src, std::size_t count) +{ + (void)wcsxfrm(dest, src, count); + // In case the 3rd argument is 0, the 1st argument is permitted to be a null pointer. (#6306) + (void)wcsxfrm(nullptr, src, 0); + (void)wcsxfrm(nullptr, src, 1); + (void)wcsxfrm(nullptr, src, count); + // cppcheck-suppress nullPointer + return wcsxfrm(dest, nullptr, count); +} + void nullPointer_asctime(void) { const struct tm *tm = 0;