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)