X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/3ec4dd9781ed23be4a2b939fa5bfded619a1a8fb..0b91056090d768c4bdc6aa83d929d09416d34e89:/flist.c diff --git a/flist.c b/flist.c index d9f8e440..d53c815f 100644 --- a/flist.c +++ b/flist.c @@ -302,8 +302,11 @@ void receive_file_entry(struct file_struct **fptr, } #endif - if (always_checksum) - read_buf(f,file->sum,csum_length); + if (always_checksum) { + file->sum = (char *)malloc(MD4_SUM_LENGTH); + if (!file->sum) out_of_memory("md4 sum"); + read_buf(f,file->sum,csum_length); + } last_mode = file->mode; last_rdev = file->rdev; @@ -395,6 +398,8 @@ static struct file_struct *make_file(char *fname) #endif if (always_checksum && S_ISREG(st.st_mode)) { + file->sum = (char *)malloc(MD4_SUM_LENGTH); + if (!file->sum) out_of_memory("md4 sum"); file_checksum(fname,file->sum,st.st_size); } @@ -723,6 +728,7 @@ static void free_file(struct file_struct *file) if (!file) return; if (file->basename) free(file->basename); if (file->link) free(file->link); + if (file->sum) free(file->sum); bzero((char *)file, sizeof(*file)); free(file); }