Skip site navigation (1)Skip section navigation (2)
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>