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 | c4641c1dc73700968ee90de85e04b2f32fbadc8a (patch) | |
tree | 22eb558acb2454bff882d8b4571d21d8c6fd8e54 /mandoc_aux.c | |
parent | 2255a3e49af03406199043bf555c96acf31eb877 (diff) | |
download | mandoc-c4641c1dc73700968ee90de85e04b2f32fbadc8a.tar.gz mandoc-c4641c1dc73700968ee90de85e04b2f32fbadc8a.tar.zst mandoc-c4641c1dc73700968ee90de85e04b2f32fbadc8a.zip |
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 | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/mandoc_aux.c b/mandoc_aux.c index 25666a27..a4cb3c19 100644 --- a/mandoc_aux.c +++ b/mandoc_aux.c @@ -1,4 +1,4 @@ -/* $Id: mandoc_aux.c,v 1.1 2014/03/23 11:59:17 schwarze Exp $ */ +/* $Id: mandoc_aux.c,v 1.2 2014/04/23 21:06:41 schwarze Exp $ */ /* * Copyright (c) 2009, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org> @@ -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) { |