summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--src/cp.c10
2 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c03c0d159..0018fdcf4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2008-01-07 Jim Meyering <meyering@redhat.com>
+ cp (but not copy.c): plug a small leak.
+ * src/cp.c (do_copy) [--parents]: Free the attribute list.
+
Make a racy test failure less likely to happen.
* tests/misc/tty-eof: Uncomment a debug "warn".
This change happens to make this test far less likely to fail.
diff --git a/src/cp.c b/src/cp.c
index be3701fc8..01d98cc64 100644
--- a/src/cp.c
+++ b/src/cp.c
@@ -683,6 +683,16 @@ do_copy (int n_files, char **file, const char *target_directory,
attr_list, x);
}
+ if (parents_option)
+ {
+ while (attr_list)
+ {
+ struct dir_attr *p = attr_list;
+ attr_list = attr_list->next;
+ free (p);
+ }
+ }
+
free (dst_name);
}
}