Hi,

> In sump, just replacing the two memcpy with memmove seems the way to go.
> If you want to send a diff, I'll ok it, or I can do it.

Here's the diff; bump up revision 18 and simply replace memcpy() to memmove()
(two places for explode.c, one for inflate.c).

Regards,

Index: Makefile
===================================================================
RCS file: /cvs/ports/archivers/unzip/Makefile,v
diff -u -p -r1.71 Makefile
--- Makefile    7 Nov 2023 14:19:18 -0000       1.71
+++ Makefile    13 Jan 2025 09:18:10 -0000
@@ -5,7 +5,7 @@ COMMENT =       extract, list & test files in 
 VERSION =      6.0
 DISTNAME =     unzip${VERSION:S/.//}
 PKGNAME =      unzip-${VERSION}
-REVISION =     17
+REVISION =     18
 CATEGORIES =   archivers
 SITES =                ${SITE_SOURCEFORGE:=infozip/} \
                ftp://ftp.info-zip.org/pub/infozip/src/
Index: patches/patch-explode_c
===================================================================
RCS file: patches/patch-explode_c
diff -N patches/patch-explode_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-explode_c     13 Jan 2025 09:18:10 -0000
@@ -0,0 +1,20 @@
+--- explode.c.orig     Sun Dec  2 03:20:24 2007
++++ explode.c  Mon Jan 13 18:12:59 2025
+@@ -336,7 +336,7 @@ unsigned bdl;                   /* number of distance 
+ #ifndef NOMEMCPY
+           if (w - d >= e)       /* (this test assumes unsigned comparison) */
+           {
+-            memcpy(redirSlide + w, redirSlide + d, e);
++            memmove(redirSlide + w, redirSlide + d, e);
+             w += e;
+             d += e;
+           }
+@@ -454,7 +454,7 @@ unsigned bdl;           /* number of distance low bits
+ #ifndef NOMEMCPY
+           if (w - d >= e)       /* (this test assumes unsigned comparison) */
+           {
+-            memcpy(redirSlide + w, redirSlide + d, e);
++            memmove(redirSlide + w, redirSlide + d, e);
+             w += e;
+             d += e;
+           }
Index: patches/patch-inflate_c
===================================================================
RCS file: patches/patch-inflate_c
diff -N patches/patch-inflate_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-inflate_c     13 Jan 2025 09:18:10 -0000
@@ -0,0 +1,11 @@
+--- inflate.c.orig     Wed Jul 30 10:31:08 2008
++++ inflate.c  Mon Jan 13 18:09:38 2025
+@@ -1018,7 +1018,7 @@ unsigned bl, bd;        /* number of bits decoded by t
+           if ((unsigned)w - d >= e)
+           /* (this test assumes unsigned comparison) */
+           {
+-            memcpy(redirSlide + (unsigned)w, redirSlide + d, e);
++            memmove(redirSlide + (unsigned)w, redirSlide + d, e);
+             w += e;
+             d += e;
+           }

-- 
SASANO Takayoshi (JG1UAA) <u...@mx5.nisiq.net>

Reply via email to