* Re: segfault crash when loading certain rmail files
[not found] <E17IYLW-0003Ji-00@dea.ur.de>
@ 2002-06-14 15:47 ` Richard Stallman
2002-06-14 20:03 ` Ulf Rehmann
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Richard Stallman @ 2002-06-14 15:47 UTC (permalink / raw)
Cc: emacs-devel
Can you make an Rmail file which triggers this bug
available by ftp for an Emacs developer to get so he
can reproduce and debug the problem?
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: segfault crash when loading certain rmail files
2002-06-14 15:47 ` segfault crash when loading certain rmail files Richard Stallman
@ 2002-06-14 20:03 ` Ulf Rehmann
2002-06-15 13:03 ` Ulf Rehmann
2002-06-16 22:36 ` Ulf Rehmann
2 siblings, 0 replies; 10+ messages in thread
From: Ulf Rehmann @ 2002-06-14 20:03 UTC (permalink / raw)
Cc: emacs-devel
I can try to set up an rmail file like that, but it might be not so
easy. Small files seem to work well, and the big stuff I have contains
lots of confidential material which I hesitate to give away...
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: segfault crash when loading certain rmail files
2002-06-14 15:47 ` segfault crash when loading certain rmail files Richard Stallman
2002-06-14 20:03 ` Ulf Rehmann
@ 2002-06-15 13:03 ` Ulf Rehmann
2002-06-16 22:36 ` Ulf Rehmann
2 siblings, 0 replies; 10+ messages in thread
From: Ulf Rehmann @ 2002-06-15 13:03 UTC (permalink / raw)
Cc: emacs-devel
| Can you make an Rmail file which triggers this bug
| available by ftp for an Emacs developer to get so he
| can reproduce and debug the problem?
I now can make my report more precise:
I do no longer claim that the crash depends on the size of the rmail
file.
The crash happens (for emacs 21.2) if the rmail file contains a
character of decimal value 128, if the rmail file is loaded
as a gzipped file with "automatic file de/compression" toggled "on".
The crash does not happen for emacs 20.7.
Please find below an rmail file, gzipped and encoded by uuencode,
which causes the crash.
Thanks for any help, and best regards,
Ulf Rehmann
begin 644 XX.gz
M'XL(".\W"ST``UA8`(V4WV_:,!#'GVOM?^A)?0&&30RD@:RJ6DK0J$I!!:9.
M51\<?&G<)3%*0E?>]J?/`4H[^FM)B$/LN_M\[\[IG'9^7L!P-.D/+\<NT`J%
M-!8J*I[(#TPSI1,7;'(A?(PREUSJ'%T`F(0J`W/E(4*(0F(*.@"1;*P#%2';
M+NX'L-0+$"E"AJB2.U`YJ,W:ZG99\39&D:R]%BX@%!DDVKS-,G&'66&D<D8&
MQLZ%VH-(:]E<ZZA6.*JE&,8B2<C^%V)5`:7*45:K9+R(8Y$N::02$X;;]'R1
M`.3:A8W!22Q,0'-3O]C43-WP^BT<Y)CEI%*I@#<<?@?S0*[IF9:&GHZ768ZQ
M"XM$XDQ)E'21J,<5%0U2;69ZYOZ6>[..^@HC##"23"*,10X%#[>!-]QFT^46
MU"VK3KSD`2,]1_H2--(S$87:@%WA#-4#2A>*@+"=@)*A=YAE3GY;)GO^$B0*
MMDB+8+]5'@)F<3Z'DO>H8FBPA@T''$I=])5(RL9`2>#.>6<YI99E-6UE!K(7
MZ!2.7D$<?ROPJP5[(:'`?A;QU3+_=S'O%W-3E)0-7B9<T<XV(UVOR'Z;.0:_
MR9JMVY6"9W4K!:/AJ`&E`/-96-2=VJS-."^O,5]10BDS-8N0RE3/RY\B0^G,
M&T_*N^3/22S-;:M5/^WT.DRJ.<NI5,*T%DLPAYN6X6Z8G\-9W7XJ@*]U_*'D
M4HMQ8U1;#^6U2F\\F(S`E./.[G7"Y-1R'+N^4XH/.NN]XIBK_:1TX$V@^X;8
MC7MXW3RKK'[>/,ZZ>:09WL=P-CTR>6\G_ILELX_]>YSE+JQVYF#]2:!]`WWD
M[48]V7(?D]YJ1TZC`*XVNOXK?Z0KBL_29_37=-KO7KC0;G/GL-GT_4..#F_-
?I!/,?%''1EVT>(L'A)"):2SX0XIC_R]&'5ZC>`4`````
`
end
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: segfault crash when loading certain rmail files
2002-06-14 15:47 ` segfault crash when loading certain rmail files Richard Stallman
2002-06-14 20:03 ` Ulf Rehmann
2002-06-15 13:03 ` Ulf Rehmann
@ 2002-06-16 22:36 ` Ulf Rehmann
2 siblings, 0 replies; 10+ messages in thread
From: Ulf Rehmann @ 2002-06-16 22:36 UTC (permalink / raw)
Cc: emacs-devel
| Can you make an Rmail file which triggers this bug
| available by ftp for an Emacs developer to get so he
| can reproduce and debug the problem?
I turned out that the crash can be triggered, for emacs 21.2, by
loading any file just containing the character (decimal) 128, if this
file is gzipped and visited by find-file and if "automatic file
de/compression" is toggled "on".
No crash with emacs 20.7.
Ulf Rehmann
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: segfault crash when loading certain rmail files
@ 2002-06-17 6:13 Kenichi Handa
2002-06-21 11:11 ` Kenichi Handa
0 siblings, 1 reply; 10+ messages in thread
From: Kenichi Handa @ 2002-06-17 6:13 UTC (permalink / raw)
Cc: rms, emacs-devel
Ulf Rehmann <rehmann@mathematik.uni-bielefeld.de> writes:
> I turned out that the crash can be triggered, for emacs 21.2, by
> loading any file just containing the character (decimal) 128, if this
> file is gzipped and visited by find-file and if "automatic file
> de/compression" is toggled "on".
> No crash with emacs 20.7.
Thank you for the report. The following change will fix the
problem.
(1) Fix Fcall_process (in callproc.c).
We have this code at line 786.
repeat_decoding:
size = decoding_buffer_size (&process_coding, nread);
decoding_buf = (char *) xmalloc (size);
if (process_coding.cmp_data)
process_coding.cmp_data->char_offset = PT;
decode_coding (&process_coding, bufptr, decoding_buf,
nread, size);
Before we check process_coding.cmp_data, if process_coding
requires detection (we have the macro
CODING_REQUIRED_DETECTION for checking it), we must call
detect_coding. And, if the resulting
process_coding.composing is not COMPOSITION_DISABLED, we
must allocate a memory for handling composition data (we
have the function coding_allocate_composition_data, the
second arg must be PT).
(2) Fix detect_eol (in coding.c).
We have this code at 4316
if (VECTORP (val) && XVECTOR (val)->size == 3)
{
int src_multibyte = coding->src_multibyte;
int dst_multibyte = coding->dst_multibyte;
setup_coding_system (XVECTOR (val)->contents[eol_type], coding);
coding->src_multibyte = src_multibyte;
coding->dst_multibyte = dst_multibyte;
coding->heading_ascii = skip;
}
The value of coding->cmp_data must be saved before calling
setup_coding_system and restored after the call.
And, we potentially have the same kind of problem in the
following places (where, decode_coding is called directly).
w16select.c:663: decode_coding (&coding, htext, buf, truelen, bufsize);
w32fns.c:6688: decode_coding (&coding, lplogfont->lfFaceName, fontname,
w32select.c:335: decode_coding (&coding, src, buf, nbytes, bufsize);
xselect.c:1651: decode_coding (&coding, data, buf, size, bufsize);
xterm.c:10688: decode_coding (&coding, copy_bufptr, p,
Fortunetly, for all those case, we can simply diable
composition handling by setting the member `composing' of
`struct coding_system' to COMPOSITION_DIABLED. For example,
in the case of xselect.c, before calling decode_coding at
the line 335, what we need is to set coding.composing to
COMPOSITION_DIABLED.
Could someone please install a fix? I'll verify the result.
---
Ken'ichi HANDA
handa@etl.go.jp
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: segfault crash when loading certain rmail files
2002-06-17 6:13 Kenichi Handa
@ 2002-06-21 11:11 ` Kenichi Handa
2002-06-22 6:59 ` Richard Stallman
0 siblings, 1 reply; 10+ messages in thread
From: Kenichi Handa @ 2002-06-21 11:11 UTC (permalink / raw)
Cc: rehmann, rms
I finally got a permission to contribute code again for
Emacs 21!
So, I can work on the following matter by myself. If any of
you have already started to work on it, please let me know.
---
Ken'ichi HANDA
handa@etl.go.jp
Kenichi Handa <handa@etl.go.jp> writes:
> Ulf Rehmann <rehmann@mathematik.uni-bielefeld.de> writes:
>> I turned out that the crash can be triggered, for emacs 21.2, by
>> loading any file just containing the character (decimal) 128, if this
>> file is gzipped and visited by find-file and if "automatic file
>> de/compression" is toggled "on".
>> No crash with emacs 20.7.
> Thank you for the report. The following change will fix the
> problem.
> (1) Fix Fcall_process (in callproc.c).
> We have this code at line 786.
> repeat_decoding:
> size = decoding_buffer_size (&process_coding, nread);
> decoding_buf = (char *) xmalloc (size);
> if (process_coding.cmp_data)
process_coding.cmp_data-> char_offset = PT;
> decode_coding (&process_coding, bufptr, decoding_buf,
> nread, size);
> Before we check process_coding.cmp_data, if process_coding
> requires detection (we have the macro
> CODING_REQUIRED_DETECTION for checking it), we must call
> detect_coding. And, if the resulting
> process_coding.composing is not COMPOSITION_DISABLED, we
> must allocate a memory for handling composition data (we
> have the function coding_allocate_composition_data, the
> second arg must be PT).
> (2) Fix detect_eol (in coding.c).
> We have this code at 4316
> if (VECTORP (val) && XVECTOR (val)->size == 3)
> {
> int src_multibyte = coding->src_multibyte;
> int dst_multibyte = coding->dst_multibyte;
> setup_coding_system (XVECTOR (val)->contents[eol_type], coding);
coding-> src_multibyte = src_multibyte;
coding-> dst_multibyte = dst_multibyte;
coding-> heading_ascii = skip;
> }
> The value of coding->cmp_data must be saved before calling
> setup_coding_system and restored after the call.
> And, we potentially have the same kind of problem in the
> following places (where, decode_coding is called directly).
> w16select.c:663: decode_coding (&coding, htext, buf, truelen, bufsize);
> w32fns.c:6688: decode_coding (&coding, lplogfont->lfFaceName, fontname,
> w32select.c:335: decode_coding (&coding, src, buf, nbytes, bufsize);
> xselect.c:1651: decode_coding (&coding, data, buf, size, bufsize);
> xterm.c:10688: decode_coding (&coding, copy_bufptr, p,
> Fortunetly, for all those case, we can simply diable
> composition handling by setting the member `composing' of
> `struct coding_system' to COMPOSITION_DIABLED. For example,
> in the case of xselect.c, before calling decode_coding at
> the line 335, what we need is to set coding.composing to
> COMPOSITION_DIABLED.
> Could someone please install a fix? I'll verify the result.
> ---
> Ken'ichi HANDA
> handa@etl.go.jp
> _______________________________________________
> Emacs-devel mailing list
> Emacs-devel@gnu.org
> http://mail.gnu.org/mailman/listinfo/emacs-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: segfault crash when loading certain rmail files
@ 2002-06-24 0:46 Kenichi Handa
2002-06-24 19:39 ` Richard Stallman
0 siblings, 1 reply; 10+ messages in thread
From: Kenichi Handa @ 2002-06-24 0:46 UTC (permalink / raw)
Cc: emacs-devel, rehmann, rms
Kenichi Handa <handa@etl.go.jp> writes:
> So, I can work on the following matter by myself. If any of
> you have already started to work on it, please let me know.
I've just installed a fix in HEAD branch.
I think this fix should also be installed in RC. Shall I do
that?
---
Ken'ichi HANDA
handa@etl.go.jp
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: segfault crash when loading certain rmail files
@ 2002-07-09 0:07 Kenichi Handa
0 siblings, 0 replies; 10+ messages in thread
From: Kenichi Handa @ 2002-07-09 0:07 UTC (permalink / raw)
Cc: emacs-devel, rehmann
Richard Stallman <rms@gnu.org> writes:
> I think this fix should also be installed in RC. Shall I do
> that?
> If it seems safe to you, please install it in RC.
Done.
---
Ken'ichi HANDA
handa@etl.go.jp
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2002-07-09 0:07 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <E17IYLW-0003Ji-00@dea.ur.de>
2002-06-14 15:47 ` segfault crash when loading certain rmail files Richard Stallman
2002-06-14 20:03 ` Ulf Rehmann
2002-06-15 13:03 ` Ulf Rehmann
2002-06-16 22:36 ` Ulf Rehmann
2002-06-17 6:13 Kenichi Handa
2002-06-21 11:11 ` Kenichi Handa
2002-06-22 6:59 ` Richard Stallman
-- strict thread matches above, loose matches on Subject: below --
2002-06-24 0:46 Kenichi Handa
2002-06-24 19:39 ` Richard Stallman
2002-07-09 0:07 Kenichi Handa
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).