X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=secnet.git;a=blobdiff_plain;f=util.c;h=44a45e50d4c22d0c19350e9277e91d93d4ed65c3;hp=86a9cd82d55eddf5134b0135f996ac90af922159;hb=bb9d056157e37451ec14800d5914733a625f1901;hpb=59230b9b9fc44453f24c6b3cf33a0f4c570a3563 diff --git a/util.c b/util.c index 86a9cd8..44a45e5 100644 --- a/util.c +++ b/util.c @@ -74,6 +74,12 @@ void *safe_malloc(size_t size, const char *message) } return r; } +void *safe_malloc_ary(size_t size, size_t count, const char *message) { + if (count >= INT_MAX/size) { + fatal("array allocation overflow: %s", message); + } + return safe_malloc(size*count, message); +} /* Convert a buffer into its MP_INT representation */ void read_mpbin(MP_INT *a, uint8_t *bin, int binsize)