}
#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;
#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);
}
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);
}