Handle the FLAG_LENGTH64 flag in unmake_file().
authorWayne Davison <wayned@samba.org>
Tue, 5 Dec 2006 17:45:29 +0000 (17:45 +0000)
committerWayne Davison <wayned@samba.org>
Tue, 5 Dec 2006 17:45:29 +0000 (17:45 +0000)
flist.c

diff --git a/flist.c b/flist.c
index 36384de..f163db2 100644 (file)
--- a/flist.c
+++ b/flist.c
@@ -980,10 +980,11 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
        return file;
 }
 
-/* Only called for temporary file_struct entries. */
+/* Only called for temporary file_struct entries created by make_file(). */
 void unmake_file(struct file_struct *file)
 {
-       free(file->extras - (flist_extra_cnt - 1));
+       int extra_cnt = flist_extra_cnt - 1 + LEN64_BUMP(file);
+       free(file->extras - extra_cnt);
 }
 
 static struct file_struct *send_file_name(int f, struct file_list *flist,