summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndres Freund2015-01-04 13:36:22 +0000
committerAndres Freund2015-01-04 13:36:22 +0000
commitec14f16014ecc04f41d9c285cb97922550097653 (patch)
tree47e28f7eeec95fe8d9e6d5a85b33d042aee57b5b /src
parentf6cea45029dfc0ad09ef24f73cac936c676f83ed (diff)
Fix inconsequential fd leak in the new mark_file_as_archived() function.
As every error in mark_file_as_archived() will lead to a failure of pg_basebackup the FD leak couldn't ever lead to a real problem. It seems better to fix the leak anyway though, rather than silence Coverity, as the usage of the function might get extended or copied at some point in the future. Pointed out by Coverity. Backpatch to 9.2, like the relevant part of the previous patch.
Diffstat (limited to 'src')
-rw-r--r--src/bin/pg_basebackup/receivelog.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/bin/pg_basebackup/receivelog.c b/src/bin/pg_basebackup/receivelog.c
index b1e103e6348..e1bd4ad04dd 100644
--- a/src/bin/pg_basebackup/receivelog.c
+++ b/src/bin/pg_basebackup/receivelog.c
@@ -62,6 +62,9 @@ mark_file_as_archived(const char *basedir, const char *fname)
{
fprintf(stderr, _("%s: could not fsync file \"%s\": %s\n"),
progname, tmppath, strerror(errno));
+
+ close(fd);
+
return false;
}