<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/c911c7b48e11f603b2bba8ccc04987b81b7ec27a">https://github.com/macports/macports-ports/commit/c911c7b48e11f603b2bba8ccc04987b81b7ec27a</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit c911c7b48e11f603b2bba8ccc04987b81b7ec27a
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Sat Oct 2 22:50:40 2021 +0200

<span style='display:block; white-space:pre;color:#404040;'>    libzzip: update to 0.13.72
</span>---
 archivers/libzzip/Portfile                         |  48 +++++----
 .../libzzip/files/fixed-macports-zip-unzip.patch   | 110 +++++++++++++++++++++
 archivers/libzzip/files/fixed-tests.patch          |  39 ++++++++
 3 files changed, 179 insertions(+), 18 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/libzzip/Portfile b/archivers/libzzip/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7bb0dd301f6..2bbaebb9d66 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/archivers/libzzip/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/libzzip/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +1,11 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           cmake  1.1
</span> PortGroup           github 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        gdraheim zziplib 0.13.69 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        gdraheim zziplib 0.13.72 v
</span> name                libzzip
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             0.13.71
</span> categories          archivers devel
 platforms           darwin
 license             LGPL
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,28 +18,40 @@ long_description    The ZZIPlib provides read access on ZIP-archives. The \
</span>                     access files being either real files or zipped files, \
                     both with the same filepath.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  d401fc327138d5b997c0cd318f808f95cea1f937 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  c5cf1c11a6019862e5b6daea4d7c72124affe687b9637effc7ad3caf2b7b1d96 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    1132209
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  20b12141e49c6332d8fd8b610d1fa4a868d9072b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  61a14917400dbef5eafb482ddc862f3edad86c888a73f445f82e1ab856d24b46 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    1162325
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build       port:pkgconfig \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:python27
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python.branch   3.9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python.version  [join [split ${python.branch} "."] ""]
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib         port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:pkgconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:python${python.version}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set docdir ${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  port:zlib
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.python    ${prefix}/bin/python2.7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.env       ac_cv_path_PAX=:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_test-append port:unzip \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:zip
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set builddir [glob -dir ${worksrcpath} "*apple-darwin*"]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace -E {s|-arch [a-z0-9_]+||g} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${builddir}/zzip/zziplib-uninstalled.pc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${builddir}/zzip/zziplib.pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch.pre_args      -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          fixed-tests.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    fixed-macports-zip-unzip.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# this build links its own library, so => Disable RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# See: https://github.com/gdraheim/zziplib/issues/121
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.install_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.pre_args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DCMAKE_INSTALL_RPATH="[join [option cmake.install_rpath] \;]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPYTHON_EXECUTABLE=${prefix}/bin/python${python.branch} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DZZIPSDL=OFF
</span> 
 post-destroot {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    set docdir ${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     xinstall -d ${destroot}${docdir}/html
 
     xinstall -m 0644 -W ${worksrcpath} COPYING.LIB ChangeLog README TODO \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -66,7 +78,7 @@ post-destroot {
</span> variant sdl description {Enable SDL support} {
     depends_lib-append      port:libsdl
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   --enable-sdl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace  -DZZIPSDL=OFF -DZZIPSDL=ON
</span> 
     post-destroot {
         xinstall -m 0644 ${worksrcpath}/docs/README.SDL ${destroot}${docdir}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/libzzip/files/fixed-macports-zip-unzip.patch b/archivers/libzzip/files/fixed-macports-zip-unzip.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5ca44aaf2b5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/libzzip/files/fixed-macports-zip-unzip.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,110 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commit 40a99a0af9c78aaf6d673dcd2086db0bd7f5f439
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Kirill A. Korinsky <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date:   Mon Sep 20 20:22:38 2021 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    support of MacPorts' zip and unzip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    MacPorts ships different version of `unzip` and `zip`. This small
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pull request adjusts tests to supporting them.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Closes https://github.com/gdraheim/zziplib/issues/123
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/test/zziptests.py b/test/zziptests.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f315dc7..bfd406c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/test/zziptests.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/test/zziptests.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1848,10 +1848,10 @@ class ZZipTest(unittest.TestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(errors(run.errors)), 430)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        returncodes = [2])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        returncodes = [2,12])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(run.output), 90)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(errors(run.errors)), 900)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    self.assertIn('file #1:  bad zipfile offset (local header sig):  127', run.errors)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    self.assertTrue(any(x in run.errors for x in ('file #1:  bad zipfile offset (local header sig):  127', 'error: invalid zip file with overlapped components (possible zip bomb)')))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     #self.assertEqual(os.path.getsize(tmpdir+"/test"), 3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertFalse(os.path.exists(tmpdir+"/test"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.rm_testdir()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2092,10 +2092,10 @@ class ZZipTest(unittest.TestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(errors(run.errors)), 500)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        returncodes = [3])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        returncodes = [3,12])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(run.output), 90)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(errors(run.errors)), 900)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    self.assertIn('file #1:  bad zipfile offset (lseek)', run.errors)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    self.assertTrue(any(x in run.errors for x in ('file #1:  bad zipfile offset (lseek)', 'invalid zip file with overlapped components (possible zip bomb)')))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertFalse(os.path.exists(tmpdir+"/test"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.rm_testdir()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3189,11 +3189,11 @@ class ZZipTest(unittest.TestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(errors(run.errors)), 800)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        returncodes = [3])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        returncodes = [3,12])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(run.output), 200)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(errors(run.errors)), 800)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertIn("missing 18 bytes in zipfile", run.errors)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    self.assertIn('expected central file header signature not found', run.errors)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    self.assertTrue(any(x in run.errors for x in ('expected central file header signature not found', 'invalid zip file with overlapped components (possible zip bomb)')))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertFalse(os.path.exists(tmpdir+"/test"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.rm_testdir()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3232,13 +3232,13 @@ class ZZipTest(unittest.TestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(errors(run.errors)), 800)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        returncodes = [3])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        returncodes = [3,12])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertGreater(len(run.output), 30)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertGreater(len(errors(run.errors)), 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(run.output), 400)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(errors(run.errors)), 800)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertIn("missing 18 bytes in zipfile", run.errors)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    self.assertIn('expected central file header signature not found', run.errors)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    self.assertTrue(any(x in run.errors for x in ('expected central file header signature not found', 'invalid zip file with overlapped components (possible zip bomb)')))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertFalse(os.path.exists(tmpdir+"/test"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.rm_testdir()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3456,11 +3456,11 @@ class ZZipTest(unittest.TestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(errors(run.errors)), 800)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        returncodes = [3])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        returncodes = [3,12])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(run.output), 400)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(errors(run.errors)), 800)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertIn("missing 5123 bytes in zipfile", run.errors)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    self.assertIn("expected central file header signature not found", run.errors)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    self.assertTrue(any(x in run.errors for x in ('expected central file header signature not found', 'invalid zip file with overlapped components (possible zip bomb)')))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertFalse(os.path.exists(tmpdir+"/test"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.rm_testdir()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3583,13 +3583,13 @@ class ZZipTest(unittest.TestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(errors(run.errors)), 800)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        returncodes = [3])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        returncodes = [3,12])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertGreater(len(run.output), 20)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertGreater(len(errors(run.errors)), 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(run.output), 2500)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertLess(len(errors(run.errors)), 800)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertIn("missing 21 bytes in zipfile", run.errors)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    self.assertIn('expected central file header signature not found', run.errors)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    self.assertTrue(any(x in run.errors for x in ('expected central file header signature not found', 'invalid zip file with overlapped components (possible zip bomb)')))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertFalse(os.path.exists(tmpdir+"/test"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.rm_testdir()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3792,7 +3792,7 @@ class ZZipTest(unittest.TestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertTrue(greps(run.errors, "missing 6 bytes in zipfile"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        returncodes = [3])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        returncodes = [3,12])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.rm_testdir()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   def test_65671(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     """ unzzip-big -l $(CVE).zip  """
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/libzzip/files/fixed-tests.patch b/archivers/libzzip/files/fixed-tests.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..fd585aba8d3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/libzzip/files/fixed-tests.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,39 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commit 732d0000306d3e7efb589c684e5b3be88425ec93
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Kirill A. Korinsky <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date:   Mon Sep 20 18:27:40 2021 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Fixed tests on macOS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    It fixes https://github.com/gdraheim/zziplib/issues/120 by adding `123`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    exit code which is macOS's way to return `-8`.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    It also fixed minor differences in output.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/test/zziptests.py b/test/zziptests.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f315dc7..10dc6d9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/test/zziptests.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/test/zziptests.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3662,7 +3662,7 @@ class ZZipTest(unittest.TestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertFalse(run.returncode)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # list the ZIPfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     exe=self.bins("unzip-mem");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    run = shell("{chdir} {tmpdir} && ../{exe} -v {zipname}.zip".format(**locals()), returncodes = [0,-8])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    run = shell("{chdir} {tmpdir} && ../{exe} -v {zipname}.zip".format(**locals()), returncodes = [0,-8,136])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     logg.error("FIXME: unzip-mem test_65485 is not solved")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.skipTest("FIXME: not solved")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.assertFalse(run.returncode)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3841,12 +3841,12 @@ class ZZipTest(unittest.TestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     exe = self.bins("unzzip-mix")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         returncodes = [2])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    self.assertTrue(greps(run.errors, "Invalid or incomplete"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    self.assertTrue(greps(run.errors, "Invalid or incomplete") or greps(run.errors, "Illegal byte sequence"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         returncodes = [2])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # self.assertLess(len(run.output), 30)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    self.assertTrue(greps(run.errors, "Invalid or incomplete"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    self.assertTrue(greps(run.errors, "Invalid or incomplete") or greps(run.errors, "Illegal byte sequence"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.rm_testdir()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   def test_65674(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     """ unzzip-zap -l $(CVE).zip  """
</span></pre><pre style='margin:0'>

</pre>