Subject: pkg/25130: elm hang on invalid inbox
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <dholland@eecs.harvard.edu>
List: pkgsrc-bugs
Date: 04/10/2004 14:56:20
>Number: 25130
>Category: pkg
>Synopsis: elm hangs on inboxes with certain invalid from lines
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Apr 10 18:57:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: David A. Holland <dholland@eecs.harvard.edu>
>Release: NetBSD 1.6ZG
>Organization:
- David A. Holland / dholland@eecs.harvard.edu
>Environment:
System: NetBSD alicante 1.6ZG NetBSD 1.6ZG (ALICANTE) #8: Wed Mar 17 18:47:39 EST 2004 dholland@alicante:/usr/src/sys/arch/i386/compile/ALICANTE i386
Architecture: i386
Machine: i386
>Description:
Elm 2.5pl5 hangs trying to open a mailbox where the character
0x80 appears on the From: line.
The problem is that one of the internal address-parsing
routines truncates characters to 7-bit when tokenizing; the
result is that when 0x80 comes along, it thinks it's at the
end of the string but its caller disagrees and loops forever
trying to continue tokenization.
>How-To-Repeat:
Create a simple test message, save it to a file, edit the file
so the From: line has the form "From: User Name ? <user@host>"
(substitute the 0x80 for the ?), then do "elm -f file".
>Fix:
The following patch is not a real fix (just a patch) and for
various reasons I haven't actually tested it, but it ought to
do the trick.
(A somewhat more detailed version of this report, including
the patch, has been sent to the upstream maintainer.)
--- elm2.5.5/lib/rfc822tlen.c.orig 2004-04-10 14:37:03.000000000 -0400
+++ elm2.5.5/lib/rfc822tlen.c 2004-04-10 14:38:15.000000000 -0400
@@ -180,10 +180,12 @@
else
; /* ERROR - unterminated domain literal */
return (str-str0);
case CH_EOS:
+ if (*str != '\0')
+ return 1; /* 0x80 and not really end of string */
return 0; /* ERROR - we should not see this */
/* case CH_SPECIAL: */
/* case CH_CTL: */
default:
>Release-Note:
>Audit-Trail:
>Unformatted:
Applies to elm 2.5pl5 and pkgsrc as of today (20040410).