summaryrefslogtreecommitdiff
path: root/src/alloc.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2019-08-12 17:39:09 +0300
committerEli Zaretskii <eliz@gnu.org>2019-08-12 17:39:09 +0300
commit2b329ed420eb15f6738edd402697ac2876b2aa61 (patch)
treee0f0a19c6c32e7733f8300ecd4522c1c5ada59eb /src/alloc.c
parentdbae38efc22e117c20f6cd9bfd8300d692055c70 (diff)
downloademacs-2b329ed420eb15f6738edd402697ac2876b2aa61.tar.gz
; Add commentary to recent changes
* src/image.c (png_load_body): * src/editfns.c (styled_format): * src/casefiddle.c (do_casify_multibyte_string): * src/alloc.c (free_cons): Comment why we use a signed temporary integer variable. (Bug#37006)
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 8227feadae5..39833f8decb 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -2542,6 +2542,8 @@ free_cons (struct Lisp_Cons *ptr)
ptr->u.s.u.chain = cons_free_list;
ptr->u.s.car = dead_object ();
cons_free_list = ptr;
+ /* Use a temporary signed variable, since otherwise INT_ADD_WRAPV
+ might incorrectly return non-zero. */
int incr = sizeof *ptr;
if (INT_ADD_WRAPV (consing_until_gc, incr, &consing_until_gc))
consing_until_gc = OBJECT_CT_MAX;