summaryrefslogtreecommitdiff
path: root/src/copy.c
diff options
context:
space:
mode:
authorOndřej Vašík <ovasik@redhat.com>2009-09-02 10:34:27 +0100
committerPádraig Brady <P@draigBrady.com>2009-09-03 10:00:32 +0100
commit1a94ac4a0524a760c1c3ea7a5ca9032e994785c2 (patch)
tree5967a5342034bc49f5c9db71272944415e2441ba /src/copy.c
parent1b2d2635eeabce4a2176427dc1de9c1b9b87bc7d (diff)
downloadcoreutils-1a94ac4a0524a760c1c3ea7a5ca9032e994785c2.tar.xz
cp: don't leak resources for each xattr preservation failure
* src/copy.c (copy_reg): Don't return from the function after an unsuccessful and required preservation of extended attributes. This resulted in leaking the copy buffer and file descriptors. * NEWS (Bug fixes): Mention the fix. The bug was introduced in coreutils-7.1 via commit 0889381c, 2009-01-23, "cp/mv: add xattr support".
Diffstat (limited to 'src/copy.c')
-rw-r--r--src/copy.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/copy.c b/src/copy.c
index d1e508d7f..e604ec55a 100644
--- a/src/copy.c
+++ b/src/copy.c
@@ -853,7 +853,7 @@ copy_reg (char const *src_name, char const *dst_name,
if (x->preserve_xattr && ! copy_attr_by_fd (src_name, source_desc,
dst_name, dest_desc, x)
&& x->require_preserve_xattr)
- return false;
+ return_val = false;
if (x->preserve_mode || x->move_mode)
{