diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2014-04-23 21:06:41 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2014-04-23 21:06:41 +0000 |
commit | d14278c71c190ee93f3a8fbe0db5fe9f64fcee24 (patch) | |
tree | b979660d5a5719053862183ee172a781e317d0ba /mandoc_aux.c | |
parent | bd8fc166fb7a4aad04578dee7fe7fc209d5e1488 (diff) | |
download | mandoc-d14278c71c190ee93f3a8fbe0db5fe9f64fcee24.tar.gz |
Audit malloc(3)/calloc(3)/realloc(3) usage.
* Change eight reallocs to reallocarray to be safe from overflows.
* Change one malloc to reallocarray to be safe from overflows.
* Change one calloc to reallocarray, no zeroing needed.
* Change the order of arguments of three callocs (aesthetical).
Diffstat (limited to 'mandoc_aux.c')
-rw-r--r-- | mandoc_aux.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/mandoc_aux.c b/mandoc_aux.c index 297fc199..f01e02e7 100644 --- a/mandoc_aux.c +++ b/mandoc_aux.c @@ -80,6 +80,18 @@ mandoc_realloc(void *ptr, size_t size) return(ptr); } +void * +mandoc_reallocarray(void *ptr, size_t num, size_t size) +{ + + ptr = reallocarray(ptr, num, size); + if (NULL == ptr) { + perror(NULL); + exit((int)MANDOCLEVEL_SYSERR); + } + return(ptr); +} + char * mandoc_strdup(const char *ptr) { |