pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel/zlib



Module Name:    pkgsrc
Committed By:   jperkin
Date:           Fri May 13 07:34:20 UTC 2022

Modified Files:
        pkgsrc/devel/zlib: Makefile
        pkgsrc/devel/zlib/files: crc32.c

Log Message:
zlib: Apply upstream patch to workaround CRC issue.

Should fix abuse by openjdk and others.  Bump PKGREVISION.

Upstream commit:

  From ec3df00224d4b396e2ac6586ab5d25f673caa4c2 Mon Sep 17 00:00:00 2001
  From: Mark Adler <madler%alumni.caltech.edu@localhost>
  Date: Wed, 30 Mar 2022 11:14:53 -0700
  Subject: [PATCH] Correct incorrect inputs provided to the CRC functions.

  The previous releases of zlib were not sensitive to incorrect CRC
  inputs with bits set above the low 32. This commit restores that
  behavior, so that applications with such bugs will continue to
  operate as before.


To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 pkgsrc/devel/zlib/Makefile
cvs rdiff -u -r1.5 -r1.6 pkgsrc/devel/zlib/files/crc32.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/zlib/Makefile
diff -u pkgsrc/devel/zlib/Makefile:1.58 pkgsrc/devel/zlib/Makefile:1.59
--- pkgsrc/devel/zlib/Makefile:1.58     Tue Mar 29 22:09:41 2022
+++ pkgsrc/devel/zlib/Makefile  Fri May 13 07:34:20 2022
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.58 2022/03/29 22:09:41 wiz Exp $
+# $NetBSD: Makefile,v 1.59 2022/05/13 07:34:20 jperkin Exp $
 
 DISTNAME=      zlib-1.2.12
+PKGREVISION=   1
 CATEGORIES=    devel
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=libpng/}
 MASTER_SITES+= http://zlib.net/

Index: pkgsrc/devel/zlib/files/crc32.c
diff -u pkgsrc/devel/zlib/files/crc32.c:1.5 pkgsrc/devel/zlib/files/crc32.c:1.6
--- pkgsrc/devel/zlib/files/crc32.c:1.5 Tue Mar 29 22:09:41 2022
+++ pkgsrc/devel/zlib/files/crc32.c     Fri May 13 07:34:20 2022
@@ -7,7 +7,7 @@
  * Kadatch and Jenkins (2010). See doc/crc-doc.1.0.pdf in this distribution.
  */
 
-/* @(#) $Id: crc32.c,v 1.5 2022/03/29 22:09:41 wiz Exp $ */
+/* @(#) $Id: crc32.c,v 1.6 2022/05/13 07:34:20 jperkin Exp $ */
 
 /*
   Note on the use of DYNAMIC_CRC_TABLE: there is no mutex or semaphore
@@ -630,7 +630,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, 
 #endif /* DYNAMIC_CRC_TABLE */
 
     /* Pre-condition the CRC */
-    crc ^= 0xffffffff;
+    crc = (~crc) & 0xffffffff;
 
     /* Compute the CRC up to a word boundary. */
     while (len && ((z_size_t)buf & 7) != 0) {
@@ -749,7 +749,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, 
 #endif /* DYNAMIC_CRC_TABLE */
 
     /* Pre-condition the CRC */
-    crc ^= 0xffffffff;
+    crc = (~crc) & 0xffffffff;
 
 #ifdef W
 
@@ -1077,7 +1077,7 @@ uLong ZEXPORT crc32_combine64(crc1, crc2
 #ifdef DYNAMIC_CRC_TABLE
     once(&made, make_crc_table);
 #endif /* DYNAMIC_CRC_TABLE */
-    return multmodp(x2nmodp(len2, 3), crc1) ^ crc2;
+    return multmodp(x2nmodp(len2, 3), crc1) ^ (crc2 & 0xffffffff);
 }
 
 /* ========================================================================= */
@@ -1112,5 +1112,5 @@ uLong crc32_combine_op(crc1, crc2, op)
     uLong crc2;
     uLong op;
 {
-    return multmodp(op, crc1) ^ crc2;
+    return multmodp(op, crc1) ^ (crc2 & 0xffffffff);
 }



Home | Main Index | Thread Index | Old Index