# HG changeset patch # User Aidan Kehoe # Date 1426553268 0 # Node ID 58e72e27fb816c54211fcdaeec7729b97bcdae9c # Parent df50aaeddca5679fba85dc8b1ebc8fd708c02028 Don't rely on zero termination for Vfixnum_to_char_map, thank you Vin. lisp/ChangeLog addition: (vars_of_data): Don't rely on zero termination here for Vfixnum_to_char_map, give an explicit bytecount. Again, thank you Vin! diff -r df50aaeddca5 -r 58e72e27fb81 src/ChangeLog --- a/src/ChangeLog Tue Mar 17 00:29:39 2015 +0000 +++ b/src/ChangeLog Tue Mar 17 00:47:48 2015 +0000 @@ -6,6 +6,9 @@ standard. Thank you Vin Shelton for reporting the Linux segmentation violation this provokes, and happy St. Patrick's Day to everyone reading the XEmacs lists! + (vars_of_data): Don't rely on zero termination here for + Vfixnum_to_char_map, give an explicit bytecount. Again, thank you + Vin! 2015-03-08 Aidan Kehoe diff -r df50aaeddca5 -r 58e72e27fb81 src/data.c --- a/src/data.c Tue Mar 17 00:29:39 2015 +0000 +++ b/src/data.c Tue Mar 17 00:47:48 2015 +0000 @@ -4302,7 +4302,9 @@ /* Sigh, we can't call build_fixnum_to_char_map() on Vdigit_fixnum_map, this is too early in the boot sequence to map across a char table. Do it by hand. */ - Vfixnum_to_char_map = build_ascstring (fixnum_tab); + ASSERT_ASCTEXT_ASCII_LEN (fixnum_tab, 36 * MAX_ICHAR_LEN); + Vfixnum_to_char_map + = make_string ((const Ibyte*) fixnum_tab, 36 * MAX_ICHAR_LEN); staticpro (&Vfixnum_to_char_map); }