On Thu, May 03, 2007 at 03:37:51PM +0200, Aleksander Piotrowski wrote:
> There is 1.5.14 available, maybe this release has fixed this problem?
Actually, 1.5.15; it still has the bug.
BTW: Ray opened a ticket upstream including the (little bit improved)
patch. See also below.
ok?
Ciao,
Kili
Index: snapshot/Makefile
===================================================================
RCS file: /cvs/ports/mail/mutt/snapshot/Makefile,v
retrieving revision 1.40
diff -u -p -r1.40 Makefile
--- snapshot/Makefile 2 Aug 2006 14:30:09 -0000 1.40
+++ snapshot/Makefile 3 May 2007 11:43:58 -0000
@@ -4,6 +4,7 @@ COMMENT= "tty-based e-mail client, devel
VERSION= 1.5.12
DISTNAME= mutt-${VERSION}
+PKGNAME= ${DISTNAME}p0
MASTER_SITES= ${MASTER_SITES_MUTT:=devel/}
FLAVORS= hcache idn sidebar
Index: snapshot/patches/patch-muttlib_c
===================================================================
RCS file: snapshot/patches/patch-muttlib_c
diff -N snapshot/patches/patch-muttlib_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ snapshot/patches/patch-muttlib_c 3 May 2007 11:43:58 -0000
@@ -0,0 +1,26 @@
+$OpenBSD$
+
+--- muttlib.c.orig Thu Jun 8 13:51:03 2006
++++ muttlib.c Thu May 3 13:41:28 2007
+@@ -532,16 +532,19 @@ char *mutt_gecos_name (char *dest, size_t destlen, str
+
+ pwnl = strlen (pw->pw_name);
+
+- for (idx = 0; dest[idx]; idx++)
++ for (idx = 0; dest[idx] && idx < destlen - 1; idx++)
+ {
+ if (dest[idx] == '&')
+ {
+- memmove (&dest[idx + pwnl], &dest[idx + 1],
++ /* Don't move if destination is outside buffer. */
++ if (idx + pwnl < destlen)
++ memmove (&dest[idx + pwnl], &dest[idx + 1],
+ MAX(destlen - idx - pwnl - 1, 0));
+ memcpy (&dest[idx], pw->pw_name, MIN(destlen - idx - 1, pwnl));
+ dest[idx] = toupper ((unsigned char) dest[idx]);
+ }
+ }
++ dest[idx] = '\0';
+
+ return dest;
+ }
Index: stable/Makefile
===================================================================
RCS file: /cvs/ports/mail/mutt/stable/Makefile,v
retrieving revision 1.30
diff -u -p -r1.30 Makefile
--- stable/Makefile 2 Aug 2006 14:30:09 -0000 1.30
+++ stable/Makefile 3 May 2007 11:43:58 -0000
@@ -4,6 +4,7 @@ COMMENT= "tty-based e-mail client"
VERSION= 1.4.2.2
DISTNAME= mutt-${VERSION}i
+PKGNAME= ${DISTNAME}p0
MASTER_SITES= ${MASTER_SITES_MUTT}
.include <bsd.port.mk>
Index: stable/patches/patch-muttlib_c
===================================================================
RCS file: /cvs/ports/mail/mutt/stable/patches/patch-muttlib_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-muttlib_c
--- stable/patches/patch-muttlib_c 5 Sep 2005 20:17:33 -0000 1.1
+++ stable/patches/patch-muttlib_c 3 May 2007 11:43:58 -0000
@@ -1,7 +1,29 @@
-$OpenBSD: patch-muttlib_c,v 1.1 2005/09/05 20:17:33 fgsch Exp $
---- muttlib.c.orig Tue Aug 30 20:31:27 2005
-+++ muttlib.c Tue Aug 30 20:39:17 2005
-@@ -809,8 +809,8 @@ void mutt_expand_fmt (char *dest, size_t
+$OpenBSD$
+--- muttlib.c.orig Mon Mar 25 12:29:32 2002
++++ muttlib.c Thu May 3 13:40:25 2007
+@@ -509,16 +509,19 @@ char *mutt_gecos_name (char *dest, size_t destlen, str
+
+ pwnl = strlen (pw->pw_name);
+
+- for (idx = 0; dest[idx]; idx++)
++ for (idx = 0; dest[idx] && idx < destlen - 1; idx++)
+ {
+ if (dest[idx] == '&')
+ {
+- memmove (&dest[idx + pwnl], &dest[idx + 1],
++ /* Don't move if destination is outside buffer. */
++ if (idx + pwnl < destlen)
++ memmove (&dest[idx + pwnl], &dest[idx + 1],
+ MAX(destlen - idx - pwnl - 1, 0));
+ memcpy (&dest[idx], pw->pw_name, MIN(destlen - idx - 1, pwnl));
+ dest[idx] = toupper (dest[idx]);
+ }
+ }
++ dest[idx] = '\0';
+
+ return dest;
+ }
+@@ -809,8 +812,8 @@ void mutt_expand_fmt (char *dest, size_t destlen, cons
}
else if (p[1] == '%')
p++;