From: Michihiro NAKAJIMA Date: Tue, 11 Sep 2012 11:01:02 +0000 (+0900) Subject: Fix a memory leak that Clang Static Analyzer pointed out. X-Git-Tag: v3.1.0~66 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d873dd4184bfee0998fa4286ade75d1f45f9bad1;p=thirdparty%2Flibarchive.git Fix a memory leak that Clang Static Analyzer pointed out. --- diff --git a/libarchive/archive_write_set_format_xar.c b/libarchive/archive_write_set_format_xar.c index b8c05de2a..79667e563 100644 --- a/libarchive/archive_write_set_format_xar.c +++ b/libarchive/archive_write_set_format_xar.c @@ -3090,8 +3090,10 @@ save_xattrs(struct archive_write *a, struct file *file) checksum_update(&(xar->a_sumwrk), value, size); checksum_final(&(xar->a_sumwrk), &(heap->a_sum)); if (write_to_temp(a, value, size) - != ARCHIVE_OK) + != ARCHIVE_OK) { + free(heap); return (ARCHIVE_FATAL); + } heap->length = size; /* Add heap to the tail of file->xattr. */ heap->next = NULL;