Date: Fri, 4 Dec 1998 16:46:02 +0200 (EET) From: "Kari E. Hurtta" <Kari.Hurtta@ozone.fmi.fi> To: yk@info.dgtu.donetsk.ua (Yury Yaroshevsky) Cc: hurtta+elm@ozone.fmi.fi, freebsd-bugs@FreeBSD.ORG Subject: Re: [BUG ?] Segment Violation signal! Message-ID: <199812041446.QAA09132@ozone.fmi.fi> In-Reply-To: <199812041227.OAA26469@info.dgtu.donetsk.ua> from Yury Yaroshevsky at "Dec 4, 1998 02:27:08 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
Yury Yaroshevsky:
[Charset KOI8-R unsupported, filtering to ASCII...]
>
> Today, after run elm I'm received error message:
>
> [cross@yk] 2:06pm [~] > elm -f yk.err
>
> Reading in yk.err, message: 1
>
> Segment Violation signal!
>
>
> Emergency exit taken! All temp files intact!
Try following fix:
Index: README.ME+
===================================================================
RCS file: /data/cvsroot/mail/elmme+/README.ME+,v
retrieving revision 1.16
diff -c -r1.16 README.ME+
*** README.ME+ 1998/12/01 15:57:01 1.16
--- README.ME+ 1998/12/04 14:43:20
***************
*** 37,42 ****
--- 37,49 ----
by combination of both of these (readdatapercentinc
and readmsginc)
+ - Fix incorrect bound checking on putc_so_string()
+ (state.c)
+
+ - base64_decode was passing wrong buffer size to
+ state_getl
+ Problem noted by: Yury Yaroshevsky <yk@info.dgtu.donetsk.ua>
+
Changes of Elm2.4ME+ PL50 (25) compared to Elm2.4ME+ PL49 (25)
--------------------------------------------------------------
Index: melib/mime_decode.c
===================================================================
RCS file: /data/cvsroot/mail/elmme+/melib/mime_decode.c,v
retrieving revision 1.2
diff -c -r1.2 mime_decode.c
*** mime_decode.c 1998/10/20 19:58:08 1.2
--- mime_decode.c 1998/12/04 14:39:17
***************
*** 111,117 ****
if (bytes >= length)
break;
! if ((len = state_getl (buf, VERY_LONG_STRING, s_in)) <= 0)
break;
bytes += len;
--- 111,117 ----
if (bytes >= length)
break;
! if ((len = state_getl (buf, sizeof buf, s_in)) <= 0)
break;
bytes += len;
***************
*** 260,266 ****
if (bytes >= length)
break;
! if ((len=state_getl (buf, VERY_LONG_STRING, s_in)) <= 0)
break;
bytes += len;
--- 260,266 ----
if (bytes >= length)
break;
! if ((len=state_getl (buf, sizeof buf, s_in)) <= 0)
break;
bytes += len;
Index: melib/state.c
===================================================================
RCS file: /data/cvsroot/mail/elmme+/melib/state.c,v
retrieving revision 1.2
diff -c -r1.2 state.c
*** state.c 1998/10/20 19:58:08 1.2
--- state.c 1998/12/04 14:18:30
***************
*** 553,559 ****
if (res < 0) /* Destroy char */
return EOF;
! if (s->u.string.outbuf - s->u.string.outbuf < s->u.string.outbufsize-1) {
*s->u.string.outwritep++ = res;
*s->u.string.outwritep = '\0';
return res;
--- 553,559 ----
if (res < 0) /* Destroy char */
return EOF;
! if (s->u.string.outwritep - s->u.string.outbuf < s->u.string.outbufsize-1) {
*s->u.string.outwritep++ = res;
*s->u.string.outwritep = '\0';
return res;
/ Kari Hurtta
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199812041446.QAA09132>
