[lvm-devel] Don't leak a file descriptor in fcntl_lock_file(), when fcntl fails.
Jim Meyering
jim at meyering.net
Sat Jul 28 14:40:51 UTC 2007
Looking at recent lvm-file.c changes, I stumbled upon a leak
that's surprisingly similar to the one fixed last week in
lib/locking/file_locking.c. Here's the fix:
diff --git a/WHATS_NEW b/WHATS_NEW
index 44b1e98..243ca25 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.28 -
================================
+ Don't leak a file descriptor in fcntl_lock_file(), when fcntl fails.
Remove create_dir function; use now-equivalent dm_create_dir instead
Detect stream write failure reliably; new fn: lvm_fclose; use dm_fclose
Fix clvmd if compiled with gulm support. (2.02.26)
diff --git a/lib/misc/lvm-file.c b/lib/misc/lvm-file.c
index caaebbe..7ce0a0b 100644
--- a/lib/misc/lvm-file.c
+++ b/lib/misc/lvm-file.c
@@ -245,6 +245,7 @@ int fcntl_lock_file(const char *file, short lock_type, int warn_if_read_only)
if (fcntl(lockfd, F_SETLKW, &lock)) {
log_sys_error("fcntl", file);
+ close(lockfd);
return -1;
}
--
1.5.3.rc3.13.g7ab3
More information about the lvm-devel
mailing list