diff --git a/cfg/std.cfg b/cfg/std.cfg
index 6cd0c371a5e..70e9cc17746 100644
--- a/cfg/std.cfg
+++ b/cfg/std.cfg
@@ -7130,6 +7130,16 @@ The obsolete function 'gets' is called. With 'gets' you'll get a buffer overrun
false
+
+
+
+
+
+
+
+
+ false
+
@@ -7137,6 +7147,13 @@ The obsolete function 'gets' is called. With 'gets' you'll get a buffer overrun
false
+
+
+
+
+
+ false
+
diff --git a/test/cfg/std.cpp b/test/cfg/std.cpp
index 8a9976a94ae..7e406ca2187 100644
--- a/test/cfg/std.cpp
+++ b/test/cfg/std.cpp
@@ -5166,6 +5166,20 @@ void constVariablePointer_push_back(std::vector& d, const std::vector& s
}
}
+struct S_constVariablePointer_wstring { // #14575
+ std::wstring m;
+ const std::wstring& get() const { return m; }
+};
+
+S_constVariablePointer_wstring* g_constVariablePointer_wstring();
+
+void h_constVariablePointer_wstring(const wchar_t*);
+
+void f_constVariablePointer_wstring() {
+ S_constVariablePointer_wstring* s = g_constVariablePointer_wstring(); // cppcheck-suppress constVariablePointer
+ h_constVariablePointer_wstring(s->get().c_str());
+}
+
std::streampos constParameterPointer_istream_tellg(std::istream* p) { // #13801
return p->tellg();
}
@@ -5318,4 +5332,4 @@ int containerOutOfBounds_std_initializer_list() { // #14340
// cppcheck-suppress derefInvalidIterator
int i = *x.end();
return i + containerOutOfBounds_std_initializer_list_access(x);
-}
\ No newline at end of file
+}