<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/471989c580b10166765993caea9f847982b1efcd">https://github.com/macports/macports-ports/commit/471989c580b10166765993caea9f847982b1efcd</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 471989c580b zlib: add CRC functions patch from upstream
</span>471989c580b is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 471989c580b10166765993caea9f847982b1efcd
</span>Author: aeiouaeiouaeiouaeiouaeiouaeiou <aeioudev@outlook.com>
AuthorDate: Thu Apr 28 14:31:50 2022 +0300

<span style='display:block; white-space:pre;color:#404040;'>    zlib: add CRC functions patch from upstream
</span>---
 archivers/zlib/Portfile                        |  5 ++-
 archivers/zlib/files/patch-crc-functions.patch | 51 ++++++++++++++++++++++++++
 2 files changed, 54 insertions(+), 2 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/zlib/Portfile b/archivers/zlib/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ed2761617a1..21864bda3c2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/archivers/zlib/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/zlib/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,9 +48,10 @@ test.run                yes
</span> destroot.destdir        prefix=${destroot}${prefix}
 
 if {${name} eq ${subport}} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision            1
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles          patch-cc-logic.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles          patch-cc-logic.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        patch-crc-functions.patch
</span> 
     post-destroot {
         platform darwin {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/zlib/files/patch-crc-functions.patch b/archivers/zlib/files/patch-crc-functions.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..51d6a4965ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/zlib/files/patch-crc-functions.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,51 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From ec3df00224d4b396e2ac6586ab5d25f673caa4c2 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Mark Adler <madler@alumni.caltech.edu>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 30 Mar 2022 11:14:53 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Correct incorrect inputs provided to the CRC functions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The previous releases of zlib were not sensitive to incorrect CRC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+inputs with bits set above the low 32. This commit restores that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+behavior, so that applications with such bugs will continue to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+operate as before.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ crc32.c | 8 ++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 4 insertions(+), 4 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/crc32.c b/crc32.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a1bdce5c2..451887bc7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- crc32.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ crc32.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -630,7 +630,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, len)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* DYNAMIC_CRC_TABLE */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     /* Pre-condition the CRC */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    crc ^= 0xffffffff;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    crc = (~crc) & 0xffffffff;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     /* Compute the CRC up to a word boundary. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     while (len && ((z_size_t)buf & 7) != 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -749,7 +749,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, len)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* DYNAMIC_CRC_TABLE */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     /* Pre-condition the CRC */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    crc ^= 0xffffffff;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    crc = (~crc) & 0xffffffff;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef W
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1077,7 +1077,7 @@ uLong ZEXPORT crc32_combine64(crc1, crc2, len2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef DYNAMIC_CRC_TABLE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     once(&made, make_crc_table);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* DYNAMIC_CRC_TABLE */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return multmodp(x2nmodp(len2, 3), crc1) ^ crc2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return multmodp(x2nmodp(len2, 3), crc1) ^ (crc2 & 0xffffffff);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* ========================================================================= */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1112,5 +1112,5 @@ uLong crc32_combine_op(crc1, crc2, op)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     uLong crc2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     uLong op;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return multmodp(op, crc1) ^ crc2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return multmodp(op, crc1) ^ (crc2 & 0xffffffff);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span></pre><pre style='margin:0'>

</pre>