aboutsummaryrefslogtreecommitdiffstats
path: root/src/floatfns.c
diff options
context:
space:
mode:
authorPaul Eggert2011-06-12 17:36:03 -0700
committerPaul Eggert2011-06-12 17:36:03 -0700
commit13bdea59234b227bf8499a64352da3e5fd9e8c7b (patch)
treededdcce496ffa4fdb6d5ffd45ec8c2c7c5c49d0c /src/floatfns.c
parentd37ca62316e7526da7d75cc44c7a4cd8a6281bb5 (diff)
downloademacs-13bdea59234b227bf8499a64352da3e5fd9e8c7b.tar.gz
emacs-13bdea59234b227bf8499a64352da3e5fd9e8c7b.zip
Make sure a 64-bit char is never passed to CHAR_STRING.
Otherwise, CHAR_STRING would do the wrong thing on a 64-bit platform, by silently ignoring the top 32 bits, allowing some values that were far too large to be valid characters. * character.h: Include <verify.h>. (CHAR_STRING, CHAR_STRING_ADVANCE): Verify that the character arguments are no wider than unsigned, as a compile-time check to prevent future regressions in this area. * data.c (Faset): * editfns.c (Fchar_to_string, general_insert_function, Finsert_char): (Fsubst_char_in_region): * fns.c (concat): * xdisp.c (decode_mode_spec_coding): Adjust to CHAR_STRING's new requirement. * editfns.c (Finsert_char, Fsubst_char_in_region): * fns.c (concat): Check that character args are actually characters. Without this test, these functions did the wrong thing with wildly out-of-range values on 64-bit hosts.
Diffstat (limited to 'src/floatfns.c')
0 files changed, 0 insertions, 0 deletions