diff --git a/cfg/std.cfg b/cfg/std.cfg
index 2035a8e27..9e65a8367 100644
--- a/cfg/std.cfg
+++ b/cfg/std.cfg
@@ -27,7 +27,18 @@
0-
- false
+
+ false
+
+
+
+
+
+ false
+
+ 0-
+
+
false 0-255
false 0-255
diff --git a/test/testnullpointer.cpp b/test/testnullpointer.cpp
index f49612b9d..6e55af5b8 100644
--- a/test/testnullpointer.cpp
+++ b/test/testnullpointer.cpp
@@ -2414,6 +2414,9 @@ private:
check("void f(char * p,char * q){ fopen (p,q);if(!p||!q){}}");
ASSERT_EQUALS(errpq,errout.str());
+ check("void f(char * p,FILE * q){ fputc (*p,q);if(!p||!q){}}");
+ ASSERT_EQUALS(errpq,errout.str());
+
check("void f(FILE * p,fpos_t * q){ fgetpos (p,q);if(!p||!q){}}");
ASSERT_EQUALS(errpq,errout.str());
diff --git a/test/testuninitvar.cpp b/test/testuninitvar.cpp
index 726e1119d..6429adfb6 100644
--- a/test/testuninitvar.cpp
+++ b/test/testuninitvar.cpp
@@ -3590,6 +3590,20 @@ private:
" fgets (s, n, f);\n"
"}");
ASSERT_EQUALS("", errout.str());
+
+ // fputc
+ checkUninitVar("void f() {\n"
+ " int c;\n"
+ " FILE *f;"
+ " fputc (c, f);\n"
+ "}");
+ ASSERT_EQUALS("[test.cpp:3]: (error) Uninitialized variable: c\n"
+ "[test.cpp:3]: (error) Uninitialized variable: f\n", errout.str());
+
+ checkUninitVar("void f(int c, FILE *f) {\n"
+ " fputc (c, f);\n"
+ "}");
+ ASSERT_EQUALS("", errout.str());
}
};