diff --git a/cfg/std.cfg b/cfg/std.cfg
index 6a9db9c37..6cecad224 100644
--- a/cfg/std.cfg
+++ b/cfg/std.cfg
@@ -86,6 +86,7 @@
+ true
@@ -2749,50 +2750,62 @@
-
+
false
+
-
+
false
+
+
+
+
+
-
+
false
+
+
+
+
+
-
+
false
+
-
+
false
@@ -2803,7 +2816,7 @@
-
+
false
@@ -2815,7 +2828,7 @@
-
+
false
@@ -3908,6 +3921,7 @@
+
false
diff --git a/test/cfg/std.c b/test/cfg/std.c
index 3ee896902..e5c5c29a4 100644
--- a/test/cfg/std.c
+++ b/test/cfg/std.c
@@ -405,14 +405,12 @@ void uninitvar_asctime(void)
(void)asctime(tm);
}
-#if 0
void uninitvar_assert(void)
{
int i;
// cppcheck-suppress uninitvar
assert(i);
}
-#endif
void uninitvar_sqrt(void)
{
@@ -2716,3 +2714,74 @@ void uninivar_raise(void)
// cppcheck-suppress uninitvar
(void)raise(i);
}
+
+void uninivar_scanf(void)
+{
+ char *format;
+ char str[42];
+ // cppcheck-suppress uninitvar
+ (void)scanf(format, str);
+}
+
+void uninivar_vsscanf(void)
+{
+ char *s;
+ char *format;
+ va_list arg;
+ // cppcheck-suppress va_list_usedBeforeStarted
+ // cppcheck-suppress uninitvar
+ (void)vsscanf(s,format,arg);
+}
+
+void uninivar_vswscanf(void)
+{
+ wchar_t *s;
+ wchar_t *format;
+ va_list arg;
+ // cppcheck-suppress va_list_usedBeforeStarted
+ // cppcheck-suppress uninitvar
+ (void)vswscanf(s,format,arg);
+}
+
+void uninivar_vscanf(void)
+{
+ char *format;
+ va_list arg;
+ // cppcheck-suppress va_list_usedBeforeStarted
+ // cppcheck-suppress uninitvar
+ (void)vscanf(format,arg);
+}
+
+void uninivar_vwscanf(void)
+{
+ wchar_t *format;
+ va_list arg;
+ // cppcheck-suppress va_list_usedBeforeStarted
+ // cppcheck-suppress uninitvar
+ (void)vwscanf(format,arg);
+}
+
+void uninivar_setbuf(void)
+{
+ FILE *stream;
+ char *buf;
+ // cppcheck-suppress uninitvar
+ (void)setbuf(stream,buf);
+}
+
+void uninivar_setvbuf(void)
+{
+ FILE *stream;
+ char *buf;
+ int mode;
+ size_t size;
+ // cppcheck-suppress uninitvar
+ (void)setvbuf(stream,buf,mode,size);
+}
+
+void uninivar_setjmp(void) // #6977
+{
+ jmp_buf j;
+ // cppcheck-suppress uninitvar
+ (void)setjmp(j);
+}
diff --git a/test/cfg/std.cpp b/test/cfg/std.cpp
index ae0a524bd..29c0fd3ab 100644
--- a/test/cfg/std.cpp
+++ b/test/cfg/std.cpp
@@ -19,6 +19,7 @@
#include
#include
#include
+#include
void bufferAccessOutOfBounds(void)
{
@@ -2039,3 +2040,67 @@ void uninivar_raise(void)
// cppcheck-suppress uninitvar
(void)std::raise(i);
}
+
+void uninivar_scanf(void)
+{
+ char *format;
+ char str[42];
+ // cppcheck-suppress uninitvar
+ (void)std::scanf(format, str);
+}
+
+void uninivar_vsscanf(void)
+{
+ char *s;
+ char *format;
+ va_list arg;
+ // cppcheck-suppress va_list_usedBeforeStarted
+ // cppcheck-suppress uninitvar
+ (void)std::vsscanf(s,format,arg);
+}
+
+void uninivar_vswscanf(void)
+{
+ wchar_t *s;
+ wchar_t *format;
+ va_list arg;
+ // cppcheck-suppress va_list_usedBeforeStarted
+ // cppcheck-suppress uninitvar
+ (void)std::vswscanf(s,format,arg);
+}
+
+void uninivar_vscanf(void)
+{
+ char *format;
+ va_list arg;
+ // cppcheck-suppress va_list_usedBeforeStarted
+ // cppcheck-suppress uninitvar
+ (void)std::vscanf(format,arg);
+}
+
+void uninivar_vwscanf(void)
+{
+ wchar_t *format;
+ va_list arg;
+ // cppcheck-suppress va_list_usedBeforeStarted
+ // cppcheck-suppress uninitvar
+ (void)std::vwscanf(format,arg);
+}
+
+void uninivar_setbuf(void)
+{
+ FILE *stream;
+ char *buf;
+ // cppcheck-suppress uninitvar
+ (void)std::setbuf(stream,buf);
+}
+
+void uninivar_setvbuf(void)
+{
+ FILE *stream;
+ char *buf;
+ int mode;
+ size_t size;
+ // cppcheck-suppress uninitvar
+ (void)std::setvbuf(stream,buf,mode,size);
+}