diff options
Diffstat (limited to 'lib/alloc/bufalloc.c')
-rw-r--r-- | lib/alloc/bufalloc.c | 23 |
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; } |