Fix a type promotion bug discivered and analyzed by Alan Modra
<amodra@bigpond.net.au>, which caused false checksum errors
diff --git a/archival/libunarchive/decompress_unzip.c b/archival/libunarchive/decompress_unzip.c
index 7de2893..40b8af4 100644
--- a/archival/libunarchive/decompress_unzip.c
+++ b/archival/libunarchive/decompress_unzip.c
@@ -997,7 +997,7 @@
 	fread(buf, 1, 8, in_file);
 
 	/* Validate decompression - crc */
-	if (((buf[0] | (buf[1] << 8)) |((buf[2] | (buf[3] << 8)) << 16)) != (crc ^ 0xffffffffL)) {
+	if ((unsigned int)((buf[0] | (buf[1] << 8)) |((buf[2] | (buf[3] << 8)) << 16)) != (crc ^ 0xffffffffL)) {
 		error_msg("invalid compressed data--crc error");
 	}
 	/* Validate decompression - size */
diff --git a/archival/libunarchive/unzip.c b/archival/libunarchive/unzip.c
index 7de2893..40b8af4 100644
--- a/archival/libunarchive/unzip.c
+++ b/archival/libunarchive/unzip.c
@@ -997,7 +997,7 @@
 	fread(buf, 1, 8, in_file);
 
 	/* Validate decompression - crc */
-	if (((buf[0] | (buf[1] << 8)) |((buf[2] | (buf[3] << 8)) << 16)) != (crc ^ 0xffffffffL)) {
+	if ((unsigned int)((buf[0] | (buf[1] << 8)) |((buf[2] | (buf[3] << 8)) << 16)) != (crc ^ 0xffffffffL)) {
 		error_msg("invalid compressed data--crc error");
 	}
 	/* Validate decompression - size */