diff --git a/cfg/windows.cfg b/cfg/windows.cfg
index 49c46f625..e9eb887e2 100644
--- a/cfg/windows.cfg
+++ b/cfg/windows.cfg
@@ -985,8 +985,8 @@
_wfopen
_tfopen
- _wfopen_s
- _tfopen_s
+ _wfopen_s
+ _tfopen_s
fclose
diff --git a/test/testmemleak.cpp b/test/testmemleak.cpp
index 887e43ae3..e642e4ed2 100644
--- a/test/testmemleak.cpp
+++ b/test/testmemleak.cpp
@@ -5977,6 +5977,7 @@ private:
LOAD_LIB_2(settings.library, "windows.cfg");
TEST_CASE(openfileNoLeak);
+ TEST_CASE(returnValueNotUsed_tfopen_s);
}
void openfileNoLeak() {
@@ -5992,6 +5993,24 @@ private:
"}");
TODO_ASSERT_EQUALS("", "[test.c:1]: (error) Resource leak: hFile\n", errout.str());
}
+
+ void returnValueNotUsed_tfopen_s() {
+ check("bool LoadFile(LPCTSTR filename) {\n"
+ " FILE *fp = NULL;\n"
+ " _tfopen_s(&fp, filename, _T(\"rb\"));\n"
+ " if (!fp)\n"
+ " return false;\n"
+ " fclose(fp);\n"
+ " return true;\n"
+ "}");
+ ASSERT_EQUALS("", errout.str());
+
+ check("bool LoadFile(LPCTSTR filename) {\n"
+ " FILE *fp = NULL;\n"
+ " _tfopen_s(&fp, filename, _T(\"rb\"));\n"
+ "}");
+ TODO_ASSERT_EQUALS("[test.c:3]: (error) Resource leak: fp\n", "", errout.str());
+ }
};
REGISTER_TEST(TestMemleakWindows)