aboutsummaryrefslogtreecommitdiff
path: root/lib/alloc/bufalloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/alloc/bufalloc.c')
-rw-r--r--lib/alloc/bufalloc.c23
1 files changed, 1 insertions, 22 deletions
diff --git a/lib/alloc/bufalloc.c b/lib/alloc/bufalloc.c
index dcb0a93..c688ab1 100644
--- a/lib/alloc/bufalloc.c
+++ b/lib/alloc/bufalloc.c
@@ -1,31 +1,10 @@
-#include <errno.h>
-#if __has_include(<stdckdint.h>)
-# include <stdckdint.h>
-# ifdef __APPLE__
-# warning "stdckdint.h now available on Mac; remove manual ckd_*() code"
-# endif
-#elifdef __GNUC__
-# define ckd_add(r, a, b) ((bool)__builtin_add_overflow(a, b, r))
-# define ckd_mul(r, a, b) ((bool)__builtin_mul_overflow(a, b, r))
-#else
-# define ckd_add(r, a, b) (*(r) = (a) + (b))
-# define ckd_mul(r, a, b) (*(r) = (a) * (b))
-# warning "ckd_*() not supported on the current platform"
-#endif
-#include <stdlib.h>
-
#include "alloc.h"
#include "errors.h"
void *
bufalloc(void *p, size_t n, size_t m)
{
- if (ckd_mul(&n, n, m)) {
- errno = EOVERFLOW;
- err(__func__);
- }
-
- if (!(p = realloc(p, n)))
+ if ((p = bufalloc_noterm(p, n, m)) == nullptr)
err(__func__);
return p;
}