From: Wayne Davison Date: Thu, 26 Jun 2008 15:14:11 +0000 (-0700) Subject: Fixed a problem with a file descriptor being left open in the X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/commitdiff_plain/a24d64bfaab425bfa8a822494439e98119c56d60 Fixed a problem with a file descriptor being left open in the generator when handling an empty file. --- diff --git a/generator.c b/generator.c index 9b371e85..724cebec 100644 --- a/generator.c +++ b/generator.c @@ -1953,9 +1953,12 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, if (read_batch) goto cleanup; - if (statret != 0 || whole_file || sx.st.st_size <= 0) + if (statret != 0 || whole_file) write_sum_head(f_out, NULL); - else { + else if (sx.st.st_size <= 0) { + write_sum_head(f_out, NULL); + close(fd); + } else { if (generate_and_send_sums(fd, sx.st.st_size, f_out, f_copy) < 0) { rprintf(FWARNING, "WARNING: file is too large for checksum sending: %s\n",