pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/devel/zlib zlib: Apply upstream patch to workaround CR...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/a7ceb89daae4
branches:  trunk
changeset: 379207:a7ceb89daae4
user:      jperkin <jperkin%pkgsrc.org@localhost>
date:      Fri May 13 07:34:20 2022 +0000

description:
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.

diffstat:

 devel/zlib/Makefile      |   3 ++-
 devel/zlib/files/crc32.c |  10 +++++-----
 2 files changed, 7 insertions(+), 6 deletions(-)

diffs (58 lines):

diff -r 72c403b5200f -r a7ceb89daae4 devel/zlib/Makefile
--- a/devel/zlib/Makefile       Fri May 13 06:45:11 2022 +0000
+++ b/devel/zlib/Makefile       Fri May 13 07:34:20 2022 +0000
@@ -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/
diff -r 72c403b5200f -r a7ceb89daae4 devel/zlib/files/crc32.c
--- a/devel/zlib/files/crc32.c  Fri May 13 06:45:11 2022 +0000
+++ b/devel/zlib/files/crc32.c  Fri May 13 07:34:20 2022 +0000
@@ -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 @@
 #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 @@
 #endif /* DYNAMIC_CRC_TABLE */
 
     /* Pre-condition the CRC */
-    crc ^= 0xffffffff;
+    crc = (~crc) & 0xffffffff;
 
 #ifdef W
 
@@ -1077,7 +1077,7 @@
 #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 crc2;
     uLong op;
 {
-    return multmodp(op, crc1) ^ crc2;
+    return multmodp(op, crc1) ^ (crc2 & 0xffffffff);
 }



Home | Main Index | Thread Index | Old Index