diff --git a/Utilities/cmlibarchive/libarchive/archive_write_disk_set_standard_lookup.c b/Utilities/cmlibarchive/libarchive/archive_write_disk_set_standard_lookup.c index 97828f68b6..2849b9f570 100644 --- a/Utilities/cmlibarchive/libarchive/archive_write_disk_set_standard_lookup.c +++ b/Utilities/cmlibarchive/libarchive/archive_write_disk_set_standard_lookup.c @@ -237,7 +237,8 @@ hash(const char *p) unsigned g, h = 0; while (*p != '\0') { h = ( h << 4 ) + *p++; - if (( g = h & 0xF0000000 )) { + g = h & 0xF0000000; + if (g) { h ^= g >> 24; h &= 0x0FFFFFFF; } diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_compression_bzip2.c b/Utilities/cmlibarchive/libarchive/archive_write_set_compression_bzip2.c index a617dafb7a..ec5ff428d5 100644 --- a/Utilities/cmlibarchive/libarchive/archive_write_set_compression_bzip2.c +++ b/Utilities/cmlibarchive/libarchive/archive_write_set_compression_bzip2.c @@ -284,7 +284,8 @@ archive_compressor_bzip2_finish(struct archive_write *a) } /* Finish compression cycle. */ - if ((ret = drive_compressor(a, state, 1))) + ret = drive_compressor(a, state, 1); + if (ret) goto cleanup; /* Optionally, pad the final compressed block. */