]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#3708] fixed closedir
authorRazvan Becheriu <razvan@isc.org>
Sat, 18 Jan 2025 12:11:27 +0000 (14:11 +0200)
committerRazvan Becheriu <razvan@isc.org>
Wed, 22 Jan 2025 16:02:23 +0000 (16:02 +0000)
src/lib/util/filesystem.cc

index 9e4ebcdffc803f4d3a89c55e6fe5d9c9a55c55a6..6dc95f95988070e214199101c6477e6a6bc2ee4d 100644 (file)
@@ -195,6 +195,8 @@ TemporaryDirectory::~TemporaryDirectory() {
         return;
     }
 
+    std::unique_ptr<DIR, void(*)(DIR*)> defer(dir, [](DIR* d) { closedir(d); });
+
     struct dirent *i;
     string filepath;
     while ((i = readdir(dir))) {
@@ -205,7 +207,7 @@ TemporaryDirectory::~TemporaryDirectory() {
         filepath = dir_name_ + '/' + i->d_name;
         remove(filepath.c_str());
     }
-    closedir(dir);
+
     rmdir(dir_name_.c_str());
 }