From d4bf6da693825808ca5784bcd4f1f0b54daac94f Mon Sep 17 00:00:00 2001 From: Liss Heidrich <31625940+liss-h@users.noreply.github.com> Date: Wed, 9 Jul 2025 16:43:17 +0200 Subject: [PATCH 1/2] fix fclose on nullptr --- include/metall/detail/memory.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/metall/detail/memory.hpp b/include/metall/detail/memory.hpp index 8fa1fde8..0ebc3fa8 100644 --- a/include/metall/detail/memory.hpp +++ b/include/metall/detail/memory.hpp @@ -130,8 +130,9 @@ inline std::pair get_num_page_faults() { logger::out(logger::level::error, __FILE__, __LINE__, ss.str().c_str()); minflt = majflt = 0; } + + fclose(f); } - fclose(f); #else #ifdef METALL_VERBOSE_SYSTEM_SUPPORT_WARNING #warning "get_num_page_faults() is not supported in this environment" From a8c85f165e8de0a0ba07b56e728ab1f043fc1406 Mon Sep 17 00:00:00 2001 From: Liss Heidrich <31625940+liss-h@users.noreply.github.com> Date: Thu, 10 Jul 2025 08:58:48 +0200 Subject: [PATCH 2/2] fix forgotten fclose --- include/metall/detail/file.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/metall/detail/file.hpp b/include/metall/detail/file.hpp index 90fd6015..d7ad914c 100644 --- a/include/metall/detail/file.hpp +++ b/include/metall/detail/file.hpp @@ -184,7 +184,10 @@ inline bool create_file(const fs::path &file_path) { logger::perror(logger::level::error, __FILE__, __LINE__, ss.str().c_str()); return false; } - if (!os_fsync(fd)) return false; + if (!os_fsync(fd)) { + os_close(fd); + return false; + } if (!os_close(fd)) return false; // Sync the parent directory