aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2024-07-14 23:37:50 +0100
committerPaul Eggert2024-07-16 15:37:20 -0700
commitb77abd2bfeb13ae046b1f8c6157bd5a497665657 (patch)
tree970d0174341aaf01068fe8d5a7f0ae1df4801c90 /src
parentb4050ab75e896dd0df51624c956e0dd412dde2cc (diff)
downloademacs-b77abd2bfeb13ae046b1f8c6157bd5a497665657.tar.gz
emacs-b77abd2bfeb13ae046b1f8c6157bd5a497665657.zip
alloc.c: ckd_add, not by-hand checks
* src/alloc.c (lmalloc, lrealloc): Prefer ckd_add to by-hand checks for integer addition overflow.
Diffstat (limited to 'src')
-rw-r--r--src/alloc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 37069ee4c9e..52f8a65d59d 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -1404,8 +1404,8 @@ lmalloc (size_t size, bool clearit)
1404 if (laligned (p, size) && (MALLOC_0_IS_NONNULL || size || p)) 1404 if (laligned (p, size) && (MALLOC_0_IS_NONNULL || size || p))
1405 return p; 1405 return p;
1406 free (p); 1406 free (p);
1407 size_t bigger = size + LISP_ALIGNMENT; 1407 size_t bigger;
1408 if (size < bigger) 1408 if (!ckd_add (&bigger, size, LISP_ALIGNMENT))
1409 size = bigger; 1409 size = bigger;
1410 } 1410 }
1411} 1411}
@@ -1418,8 +1418,8 @@ lrealloc (void *p, size_t size)
1418 p = realloc (p, size); 1418 p = realloc (p, size);
1419 if (laligned (p, size) && (size || p)) 1419 if (laligned (p, size) && (size || p))
1420 return p; 1420 return p;
1421 size_t bigger = size + LISP_ALIGNMENT; 1421 size_t bigger;
1422 if (size < bigger) 1422 if (!ckd_add (&bigger, size, LISP_ALIGNMENT))
1423 size = bigger; 1423 size = bigger;
1424 } 1424 }
1425} 1425}