diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2011-10-24 16:06:11 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2011-10-24 16:06:11 -0700 |
commit | 0fd11aa5e26da5ee2b36996f1a2376fb2d7ec6cc (patch) | |
tree | 4095f7429b821e47990a457bcaaa7acc2e2446da | |
parent | ee7804014888b29a0f75330ab305419a647925bb (diff) | |
download | emacs-0fd11aa5e26da5ee2b36996f1a2376fb2d7ec6cc.tar.gz emacs-0fd11aa5e26da5ee2b36996f1a2376fb2d7ec6cc.tar.bz2 emacs-0fd11aa5e26da5ee2b36996f1a2376fb2d7ec6cc.zip |
*print.c (Fexternal_debugging_output): Use more-conservative overflow fix.
-rw-r--r-- | src/ChangeLog | 3 | ||||
-rw-r--r-- | src/print.c | 4 |
2 files changed, 3 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index c288ed6a2ed..5b41db9831a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -554,8 +554,7 @@ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts. (PRINTPREPARE): Use int, not ptrdiff_t, where int is wide enough. (printchar, strout): Use xpalloc to catch size calculation overflow. - (Fexternal_debugging_output): Use CHECK_CHARACTER, not CHECK_NUMBER, - to avoid mishandling large integers. + (Fexternal_debugging_output): Don't overflow EMACS_INT->int conversion. (print_error_message): Use SAFE_ALLOCA, not alloca. (print_object): Use int, not EMACS_INT, where int is wide enough. * process.c (Fdelete_process): Don't assume pid fits into EMACS_INT. diff --git a/src/print.c b/src/print.c index 63ef3e6279e..f3302daaea3 100644 --- a/src/print.c +++ b/src/print.c @@ -716,8 +716,8 @@ You can call print while debugging emacs, and pass it this function to make it write to the debugging output. */) (Lisp_Object character) { - CHECK_CHARACTER (character); - putc ((int) XINT (character), stderr); + CHECK_NUMBER (character); + putc (XINT (character) & 0xFF, stderr); #ifdef WINDOWSNT /* Send the output to a debugger (nothing happens if there isn't one). */ |