diff options
| author | Paul Eggert | 2020-03-25 17:40:57 -0700 |
|---|---|---|
| committer | Paul Eggert | 2020-03-25 18:38:07 -0700 |
| commit | e4b6151ff119f36c64d3653b56f761fcdfe47fd3 (patch) | |
| tree | a1e0c516bb6fa75b46aed2e217b065c9fa9fb144 /src | |
| parent | d08c9472e821615da06f92756e49c271be8da7f1 (diff) | |
| download | emacs-e4b6151ff119f36c64d3653b56f761fcdfe47fd3.tar.gz emacs-e4b6151ff119f36c64d3653b56f761fcdfe47fd3.zip | |
Fix integer overflow in forward-point
* lisp/subr.el (forward-point): Rewrite in Lisp and move here ...
* src/cmds.c (Fforward_point): ... from here. This fixes an
integer overflow bug with (forward-point most-positive-fixnum).
Diffstat (limited to 'src')
| -rw-r--r-- | src/cmds.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/src/cmds.c b/src/cmds.c index 5d7a45e65f6..5b98a09fda9 100644 --- a/src/cmds.c +++ b/src/cmds.c | |||
| @@ -31,15 +31,6 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */ | |||
| 31 | 31 | ||
| 32 | static int internal_self_insert (int, EMACS_INT); | 32 | static int internal_self_insert (int, EMACS_INT); |
| 33 | 33 | ||
| 34 | DEFUN ("forward-point", Fforward_point, Sforward_point, 1, 1, 0, | ||
| 35 | doc: /* Return buffer position N characters after (before if N negative) point. */) | ||
| 36 | (Lisp_Object n) | ||
| 37 | { | ||
| 38 | CHECK_FIXNUM (n); | ||
| 39 | |||
| 40 | return make_fixnum (PT + XFIXNUM (n)); | ||
| 41 | } | ||
| 42 | |||
| 43 | /* Add N to point; or subtract N if FORWARD is false. N defaults to 1. | 34 | /* Add N to point; or subtract N if FORWARD is false. N defaults to 1. |
| 44 | Validate the new location. Return nil. */ | 35 | Validate the new location. Return nil. */ |
| 45 | static Lisp_Object | 36 | static Lisp_Object |
| @@ -526,7 +517,6 @@ syms_of_cmds (void) | |||
| 526 | This is run after inserting the character. */); | 517 | This is run after inserting the character. */); |
| 527 | Vpost_self_insert_hook = Qnil; | 518 | Vpost_self_insert_hook = Qnil; |
| 528 | 519 | ||
| 529 | defsubr (&Sforward_point); | ||
| 530 | defsubr (&Sforward_char); | 520 | defsubr (&Sforward_char); |
| 531 | defsubr (&Sbackward_char); | 521 | defsubr (&Sbackward_char); |
| 532 | defsubr (&Sforward_line); | 522 | defsubr (&Sforward_line); |