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 /term_ps.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 'term_ps.c')
-rw-r--r-- | term_ps.c | 14 |
1 files changed, 4 insertions, 10 deletions
@@ -1,4 +1,4 @@ -/* $Id: term_ps.c,v 1.59 2014/04/20 16:46:05 schwarze Exp $ */ +/* $Id: term_ps.c,v 1.60 2014/04/23 21:06:41 schwarze Exp $ */ /* * Copyright (c) 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org> @@ -628,12 +628,8 @@ pdf_obj(struct termp *p, size_t obj) if ((obj - 1) >= p->ps->pdfobjsz) { p->ps->pdfobjsz = obj + 128; - p->ps->pdfobjs = realloc(p->ps->pdfobjs, - p->ps->pdfobjsz * sizeof(size_t)); - if (NULL == p->ps->pdfobjs) { - perror(NULL); - exit((int)MANDOCLEVEL_SYSERR); - } + p->ps->pdfobjs = mandoc_reallocarray(p->ps->pdfobjs, + p->ps->pdfobjsz, sizeof(size_t)); } p->ps->pdfobjs[(int)obj - 1] = p->ps->pdfbytes; @@ -1169,7 +1165,5 @@ ps_growbuf(struct termp *p, size_t sz) sz = PS_BUFSLOP; p->ps->psmargsz += sz; - - p->ps->psmarg = mandoc_realloc - (p->ps->psmarg, p->ps->psmargsz); + p->ps->psmarg = mandoc_realloc(p->ps->psmarg, p->ps->psmargsz); } |