aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorPaul Eggert2011-06-08 12:54:32 -0700
committerPaul Eggert2011-06-08 12:54:32 -0700
commit9c4c5f81ceb3fb3100a6a81adffcf764b843363c (patch)
treeddb255b95a05dd32e8fde8c2ce081c79a1c31aaa /src/alloc.c
parente46bb31a9f62b157947257b444fb44b1f9a42db6 (diff)
downloademacs-9c4c5f81ceb3fb3100a6a81adffcf764b843363c.tar.gz
emacs-9c4c5f81ceb3fb3100a6a81adffcf764b843363c.zip
* lisp.h (SAFE_ALLOCA_LISP): Check for integer overflow.
(struct Lisp_Save_Value): Use ptrdiff_t, not int, for 'integer' member. * alloc.c (make_save_value): Integer argument is now of type ptrdiff_t, not int. (mark_object): Use ptrdiff_t, not int. * lisp.h (pD): New macro. * print.c (print_object): Use it.
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 4530e0a7377..fd2884af1c3 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -3160,7 +3160,7 @@ free_misc (Lisp_Object misc)
3160 The unwind function can get the C values back using XSAVE_VALUE. */ 3160 The unwind function can get the C values back using XSAVE_VALUE. */
3161 3161
3162Lisp_Object 3162Lisp_Object
3163make_save_value (void *pointer, int integer) 3163make_save_value (void *pointer, ptrdiff_t integer)
3164{ 3164{
3165 register Lisp_Object val; 3165 register Lisp_Object val;
3166 register struct Lisp_Save_Value *p; 3166 register struct Lisp_Save_Value *p;
@@ -5514,7 +5514,7 @@ mark_object (Lisp_Object arg)
5514 if (ptr->dogc) 5514 if (ptr->dogc)
5515 { 5515 {
5516 Lisp_Object *p = (Lisp_Object *) ptr->pointer; 5516 Lisp_Object *p = (Lisp_Object *) ptr->pointer;
5517 int nelt; 5517 ptrdiff_t nelt;
5518 for (nelt = ptr->integer; nelt > 0; nelt--, p++) 5518 for (nelt = ptr->integer; nelt > 0; nelt--, p++)
5519 mark_maybe_object (*p); 5519 mark_maybe_object (*p);
5520 } 5520 }