Skip to content

Commit

Permalink
Merge pull request #2745 from hadfl/zlib_r40
Browse files Browse the repository at this point in the history
zlib - update from 1.2.11 to 1.2.12 (r151040)
  • Loading branch information
oetiker authored Apr 11, 2022
2 parents 580067c + c1f2d83 commit a5cc4ad
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 22 deletions.
31 changes: 12 additions & 19 deletions build/zlib/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@
# }}}

# Copyright 2015 OmniTI Computer Consulting, Inc. All rights reserved.
# Copyright 2020 OmniOS Community Edition (OmniOSce) Association.
# Copyright 2022 OmniOS Community Edition (OmniOSce) Association.

. ../../lib/functions.sh

PROG=zlib
VER=1.2.11
VER=1.2.12
PKG=library/zlib
SUMMARY="$PROG - A compression library"
DESC="$SUMMARY"
Expand All @@ -29,32 +29,25 @@ SKIP_LICENCES=zlib
CFLAGS+=" -DNO_VIZ"
LDFLAGS32+=" -lssp_ns"

CONFIGURE_OPTS_32="--prefix=$PREFIX
CONFIGURE_OPTS="
--prefix=$PREFIX
--includedir=$PREFIX/include
--libdir=$PREFIX/lib"
"
CONFIGURE_OPTS_32="--libdir=$PREFIX/lib"
CONFIGURE_OPTS_64="--libdir=$PREFIX/lib/$ISAPART64"
LDFLAGS32+=" -lssp_ns"
export cc=$CC

CONFIGURE_OPTS_64="--prefix=$PREFIX
--includedir=$PREFIX/include
--libdir=$PREFIX/lib/$ISAPART64"
MAKE_ARGS_WS="
LDSHARED=\"$CC -shared -nostdlib $SO_LDFLAGS -Wl,-h,libz.so.1\"
"

install_license(){
# This is fun, take from the zlib.h header
/bin/awk '/Copyright/,/\*\//{if($1 != "*/"){print}}' \
$TMPDIR/$BUILDDIR/zlib.h > $DESTDIR/license
}

make_prog32() {
pushd $TMPDIR/$BUILDDIR > /dev/null
logcmd gmake LDSHARED="gcc -shared -nostdlib" || logerr "gmake failed"
popd > /dev/null
}

make_prog64() {
pushd $TMPDIR/$BUILDDIR > /dev/null
logcmd gmake LDSHARED="gcc -shared -nostdlib" || logerr "gmake failed"
popd > /dev/null
}

init
download_source $PROG $PROG $VER
patch_source
Expand Down
51 changes: 51 additions & 0 deletions build/zlib/patches/crc32_input.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
From ec3df00224d4b396e2ac6586ab5d25f673caa4c2 Mon Sep 17 00:00:00 2001
From: Mark Adler <madler@alumni.caltech.edu>
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.
---
crc32.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/crc32.c b/crc32.c
index a1bdce5c2..451887bc7 100644
--- a/crc32.c
+++ b/crc32.c
@@ -630,7 +630,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, len)
#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, len)
#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, len2)
#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);
}
1 change: 1 addition & 0 deletions build/zlib/patches/series
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
crc32_input.patch
6 changes: 3 additions & 3 deletions build/zlib/testsuite.log
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
hello world
zlib version 1.2.11 = 0x12b0, compile flags = 0xa9
zlib version 1.2.12 = 0x12c0, compile flags = 0xa9
uncompress(): hello, hello!
gzread(): hello, hello!
gzgets() after gzseek: hello!
Expand All @@ -9,7 +9,7 @@ after inflateSync(): hello, hello!
inflate with dictionary: hello, hello!
*** zlib test OK ***
hello world
zlib version 1.2.11 = 0x12b0, compile flags = 0xa9
zlib version 1.2.12 = 0x12c0, compile flags = 0xa9
uncompress(): hello, hello!
gzread(): hello, hello!
gzgets() after gzseek: hello!
Expand All @@ -19,7 +19,7 @@ after inflateSync(): hello, hello!
inflate with dictionary: hello, hello!
*** zlib shared test OK ***
hello world
zlib version 1.2.11 = 0x12b0, compile flags = 0xa9
zlib version 1.2.12 = 0x12c0, compile flags = 0xa9
uncompress(): hello, hello!
gzread(): hello, hello!
gzgets() after gzseek: hello!
Expand Down

0 comments on commit a5cc4ad

Please sign in to comment.