diff --git a/archive-tar.c b/archive-tar.c index 55682404d5..380e3aedd2 100644 --- a/archive-tar.c +++ b/archive-tar.c @@ -213,9 +213,9 @@ static void prepare_header(struct archiver_args *args, xsnprintf(header->chksum, sizeof(header->chksum), "%07o", ustar_header_chksum(header)); } -static int write_extended_header(struct archiver_args *args, - const unsigned char *sha1, - const void *buffer, unsigned long size) +static void write_extended_header(struct archiver_args *args, + const unsigned char *sha1, + const void *buffer, unsigned long size) { struct ustar_header header; unsigned int mode; @@ -226,7 +226,6 @@ static int write_extended_header(struct archiver_args *args, prepare_header(args, &header, mode, size); write_blocked(&header, sizeof(header)); write_blocked(buffer, size); - return 0; } static int write_tar_entry(struct archiver_args *args, @@ -305,12 +304,8 @@ static int write_tar_entry(struct archiver_args *args, prepare_header(args, &header, mode, size_in_header); if (ext_header.len > 0) { - err = write_extended_header(args, sha1, ext_header.buf, - ext_header.len); - if (err) { - free(buffer); - return err; - } + write_extended_header(args, sha1, ext_header.buf, + ext_header.len); } strbuf_release(&ext_header); write_blocked(&header, sizeof(header));