In article <[EMAIL PROTECTED]>, Lawrence Mitchell <[EMAIL PROTECTED]> writes:

> M-: (insert -1) RET

> resulting in a segmentation fault.  The problem appears to lie in
> the code-path to char_string(), the code does not seem to check to see
> if the "character" to be inserted is valid: specifically, negative
> arguments cause the stack to overflow (I think).

> char_string(c, p) calls CHAR_STRING(c, p), which, since c is negative,
> calls char_string(c, p) as a fallback.

> I'm not sure how to go about fixing this, the naive approach of
> calling CHECK_CHARACTER at the beginning of char_string results in a
> segfault when building.

Thank you for finding this bug.

I changed INTEGERP to CHARACTERP in general_insert_function.

> If called with a negative number as an argument, functions such as
> insert, char-to-string, and so forth will cause Emacs 23 to segfault
> in char_string().

I changed CHECK_NUMBER to CHECK_CHARACTER in Fchar_to_string.

---
Kenichi Handa
[EMAIL PROTECTED]


_______________________________________________
emacs-pretest-bug mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug

Reply via email to