Fixed a bug in match_hard_links() where an empty directory would try
authorWayne Davison <wayned@samba.org>
Mon, 21 Jul 2008 03:34:06 +0000 (20:34 -0700)
committerWayne Davison <wayned@samba.org>
Mon, 21 Jul 2008 03:34:06 +0000 (20:34 -0700)
to allocate 0 bytes of memory (which can fail on some OSes).

NEWS
hlink.c

diff --git a/NEWS b/NEWS
index 805a6ba..bc1640e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,9 @@ Changes since 3.0.3:
 
   BUG FIXES:
 
+    - Fixed a bug in the hard-linking code where it would sometimes try to
+      allocate 0 bytes of memory (which fails on system OSes).
+
     - Changed the way --progress overwrites its prior output in order to make
       it nearly impossible for the progress to get overwritten by an error.
 
diff --git a/hlink.c b/hlink.c
index 0fe6bed..ec49709 100644 (file)
--- a/hlink.c
+++ b/hlink.c
@@ -184,7 +184,7 @@ static void match_gnums(int32 *ndx_list, int ndx_count)
  * to first when we're done. */
 void match_hard_links(struct file_list *flist)
 {
-       if (!list_only) {
+       if (!list_only && flist->used) {
                int i, ndx_count = 0;
                int32 *ndx_list;