diff options
author | 2014-12-01 21:58:46 +0000 | |
---|---|---|
committer | 2014-12-01 21:58:46 +0000 | |
commit | caa2ffb0b03850db17af0f8c10b96ed868191c3f (patch) | |
tree | e4a3ca634b548c220db17e0f4f17351d7a2dd572 | |
parent | reconvert (rereconvert?) to memcpy except in the one case where memmove (diff) | |
download | wireguard-openbsd-caa2ffb0b03850db17af0f8c10b96ed868191c3f.tar.xz wireguard-openbsd-caa2ffb0b03850db17af0f8c10b96ed868191c3f.zip |
An internal function called xrealloc() is actually a fail-hard
reallocarray()... so rename it.
-rw-r--r-- | usr.bin/cvs/buf.c | 4 | ||||
-rw-r--r-- | usr.bin/cvs/cvs.c | 6 | ||||
-rw-r--r-- | usr.bin/cvs/diff3.c | 12 | ||||
-rw-r--r-- | usr.bin/cvs/diff_internals.c | 18 | ||||
-rw-r--r-- | usr.bin/cvs/getlog.c | 4 | ||||
-rw-r--r-- | usr.bin/cvs/rcsparse.c | 4 | ||||
-rw-r--r-- | usr.bin/cvs/server.c | 6 | ||||
-rw-r--r-- | usr.bin/cvs/util.c | 4 | ||||
-rw-r--r-- | usr.bin/cvs/xmalloc.c | 9 | ||||
-rw-r--r-- | usr.bin/cvs/xmalloc.h | 4 | ||||
-rw-r--r-- | usr.bin/rcs/buf.c | 4 | ||||
-rw-r--r-- | usr.bin/rcs/diff.c | 18 | ||||
-rw-r--r-- | usr.bin/rcs/diff3.c | 12 | ||||
-rw-r--r-- | usr.bin/rcs/rcsdiff.c | 4 | ||||
-rw-r--r-- | usr.bin/rcs/rcsnum.c | 8 | ||||
-rw-r--r-- | usr.bin/rcs/rcsparse.c | 4 | ||||
-rw-r--r-- | usr.bin/rcs/rcsprog.c | 6 | ||||
-rw-r--r-- | usr.bin/rcs/rcsutil.c | 4 | ||||
-rw-r--r-- | usr.bin/rcs/xmalloc.c | 16 | ||||
-rw-r--r-- | usr.bin/rcs/xmalloc.h | 4 |
20 files changed, 70 insertions, 81 deletions
diff --git a/usr.bin/cvs/buf.c b/usr.bin/cvs/buf.c index a21676c9848..e539b5c7369 100644 --- a/usr.bin/cvs/buf.c +++ b/usr.bin/cvs/buf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: buf.c,v 1.80 2010/09/08 20:49:11 nicm Exp $ */ +/* $OpenBSD: buf.c,v 1.81 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (c) 2003 Jean-Francois Brousseau <jfb@openbsd.org> * All rights reserved. @@ -286,6 +286,6 @@ buf_differ(const BUF *b1, const BUF *b2) static void buf_grow(BUF *b, size_t len) { - b->cb_buf = xrealloc(b->cb_buf, 1, b->cb_size + len); + b->cb_buf = xreallocarray(b->cb_buf, 1, b->cb_size + len); b->cb_size += len; } diff --git a/usr.bin/cvs/cvs.c b/usr.bin/cvs/cvs.c index e7cbda5f444..15210e015f3 100644 --- a/usr.bin/cvs/cvs.c +++ b/usr.bin/cvs/cvs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cvs.c,v 1.153 2014/01/08 13:23:55 okan Exp $ */ +/* $OpenBSD: cvs.c,v 1.154 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (c) 2006, 2007 Joris Vink <joris@openbsd.org> * Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org> @@ -156,7 +156,7 @@ cvs_build_cmd(char ***cmd_argv, char **argv, int argc) if (cmd_argc == cur) { cur += 8; - *cmd_argv = xrealloc(*cmd_argv, cur, + *cmd_argv = xreallocarray(*cmd_argv, cur, sizeof(char *)); } @@ -165,7 +165,7 @@ cvs_build_cmd(char ***cmd_argv, char **argv, int argc) if (cmd_argc + argc > cur) { cur = cmd_argc + argc + 1; - *cmd_argv = xrealloc(*cmd_argv, cur, + *cmd_argv = xreallocarray(*cmd_argv, cur, sizeof(char *)); } diff --git a/usr.bin/cvs/diff3.c b/usr.bin/cvs/diff3.c index df5eae89d8b..5f0d95e31ab 100644 --- a/usr.bin/cvs/diff3.c +++ b/usr.bin/cvs/diff3.c @@ -1,4 +1,4 @@ -/* $OpenBSD: diff3.c,v 1.55 2012/03/04 04:05:15 fgsch Exp $ */ +/* $OpenBSD: diff3.c,v 1.56 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (C) Caldera International Inc. 2001-2002. @@ -528,7 +528,7 @@ get_line(FILE *b, size_t *n) do { bufsize += 1024; } while (len + 1 > bufsize); - buf = xrealloc(buf, 1, bufsize); + buf = xreallocarray(buf, 1, bufsize); } memcpy(buf, cp, len - 1); buf[len - 1] = '\n'; @@ -825,13 +825,13 @@ increase(void) newsz = szchanges == 0 ? 64 : 2 * szchanges; incr = newsz - szchanges; - d13 = xrealloc(d13, newsz, sizeof(*d13)); + d13 = xreallocarray(d13, newsz, sizeof(*d13)); memset(d13 + szchanges, 0, incr * sizeof(*d13)); - d23 = xrealloc(d23, newsz, sizeof(*d23)); + d23 = xreallocarray(d23, newsz, sizeof(*d23)); memset(d23 + szchanges, 0, incr * sizeof(*d23)); - de = xrealloc(de, newsz, sizeof(*de)); + de = xreallocarray(de, newsz, sizeof(*de)); memset(de + szchanges, 0, incr * sizeof(*de)); - overlap = xrealloc(overlap, newsz, sizeof(*overlap)); + overlap = xreallocarray(overlap, newsz, sizeof(*overlap)); memset(overlap + szchanges, 0, incr * sizeof(*overlap)); szchanges = newsz; } diff --git a/usr.bin/cvs/diff_internals.c b/usr.bin/cvs/diff_internals.c index b451422dd07..706415acbb5 100644 --- a/usr.bin/cvs/diff_internals.c +++ b/usr.bin/cvs/diff_internals.c @@ -1,4 +1,4 @@ -/* $OpenBSD: diff_internals.c,v 1.34 2011/04/01 17:25:26 nicm Exp $ */ +/* $OpenBSD: diff_internals.c,v 1.35 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (C) Caldera International Inc. 2001-2002. * All rights reserved. @@ -377,11 +377,11 @@ diffreg(const char *file1, const char *file2, int _fd1, int _fd2, member = (int *)file[1]; equiv(sfile[0], slen[0], sfile[1], slen[1], member); - member = xrealloc(member, slen[1] + 2, sizeof(*member)); + member = xreallocarray(member, slen[1] + 2, sizeof(*member)); class = (int *)file[0]; unsort(sfile[0], slen[0], class); - class = xrealloc(class, slen[0] + 2, sizeof(*class)); + class = xreallocarray(class, slen[0] + 2, sizeof(*class)); klist = xcalloc(slen[0] + 2, sizeof(*klist)); clen = 0; @@ -391,13 +391,13 @@ diffreg(const char *file1, const char *file2, int _fd1, int _fd2, xfree(member); xfree(class); - J = xrealloc(J, len[0] + 2, sizeof(*J)); + J = xreallocarray(J, len[0] + 2, sizeof(*J)); unravel(klist[i]); xfree(clist); xfree(klist); - ixold = xrealloc(ixold, len[0] + 2, sizeof(*ixold)); - ixnew = xrealloc(ixnew, len[1] + 2, sizeof(*ixnew)); + ixold = xreallocarray(ixold, len[0] + 2, sizeof(*ixold)); + ixnew = xreallocarray(ixnew, len[1] + 2, sizeof(*ixnew)); check(f1, f2, flags); output(f1, f2, flags); @@ -458,7 +458,7 @@ prepare(int i, FILE *fd, off_t filesize, int flags) for (j = 0; (h = readhash(fd, flags));) { if (j == sz) { sz = sz * 3 / 2; - p = xrealloc(p, sz + 3, sizeof(*p)); + p = xreallocarray(p, sz + 3, sizeof(*p)); } p[++j].value = h; } @@ -589,7 +589,7 @@ newcand(int x, int y, int pred) if (clen == clistlen) { clistlen = clistlen * 11 / 10; - clist = xrealloc(clist, clistlen, sizeof(*clist)); + clist = xreallocarray(clist, clistlen, sizeof(*clist)); } q = clist + clen; q->x = x; @@ -999,7 +999,7 @@ proceed: if (context_vec_ptr == context_vec_end - 1) { ptrdiff_t offset = context_vec_ptr - context_vec_start; max_context <<= 1; - context_vec_start = xrealloc(context_vec_start, + context_vec_start = xreallocarray(context_vec_start, max_context, sizeof(*context_vec_start)); context_vec_end = context_vec_start + max_context; context_vec_ptr = context_vec_start + offset; diff --git a/usr.bin/cvs/getlog.c b/usr.bin/cvs/getlog.c index 4911c1bf6af..461cd32c5bd 100644 --- a/usr.bin/cvs/getlog.c +++ b/usr.bin/cvs/getlog.c @@ -1,4 +1,4 @@ -/* $OpenBSD: getlog.c,v 1.97 2014/01/08 13:23:55 okan Exp $ */ +/* $OpenBSD: getlog.c,v 1.98 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (c) 2005, 2006 Xavier Santolaria <xsa@openbsd.org> * Copyright (c) 2006 Joris Vink <joris@openbsd.org> @@ -413,7 +413,7 @@ push_date(char *dest, const char *src) len = strlen(dest) + strlen(src) + 2; dest[strlen(dest)] = ';'; - dest = xrealloc(dest, len, 1); + dest = xreallocarray(dest, len, 1); strlcat(dest, src, len); return (dest); } diff --git a/usr.bin/cvs/rcsparse.c b/usr.bin/cvs/rcsparse.c index b840845f29c..23f4d67a0ea 100644 --- a/usr.bin/cvs/rcsparse.c +++ b/usr.bin/cvs/rcsparse.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rcsparse.c,v 1.10 2014/11/22 18:01:09 deraadt Exp $ */ +/* $OpenBSD: rcsparse.c,v 1.11 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (c) 2010 Tobias Stoeckmann <tobias@openbsd.org> * @@ -1202,7 +1202,7 @@ rcsparse_growbuf(RCSFILE *rfp) { struct rcs_pdata *pdp = (struct rcs_pdata *)rfp->rf_pdata; - pdp->rp_buf = xrealloc(pdp->rp_buf, 1, + pdp->rp_buf = xreallocarray(pdp->rp_buf, 1, pdp->rp_blen + RCS_BUFEXTSIZE); pdp->rp_blen += RCS_BUFEXTSIZE; pdp->rp_bufend = pdp->rp_buf + pdp->rp_blen - 1; diff --git a/usr.bin/cvs/server.c b/usr.bin/cvs/server.c index 2ae21a980be..c733ab49a9b 100644 --- a/usr.bin/cvs/server.c +++ b/usr.bin/cvs/server.c @@ -1,4 +1,4 @@ -/* $OpenBSD: server.c,v 1.100 2010/07/23 21:46:05 ray Exp $ */ +/* $OpenBSD: server.c,v 1.101 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (c) 2006 Joris Vink <joris@openbsd.org> * @@ -489,7 +489,7 @@ cvs_server_argument(char *data) if (data == NULL) fatal("Missing argument for Argument"); - server_argv = xrealloc(server_argv, server_argc + 2, + server_argv = xreallocarray(server_argv, server_argc + 2, sizeof(*server_argv)); server_argv[server_argc] = xstrdup(data); server_argv[++server_argc] = NULL; @@ -507,7 +507,7 @@ cvs_server_argumentx(char *data) idx = server_argc - 1; len = strlen(server_argv[idx]) + strlen(data) + 2; - server_argv[idx] = xrealloc(server_argv[idx], len, sizeof(char)); + server_argv[idx] = xreallocarray(server_argv[idx], len, sizeof(char)); strlcat(server_argv[idx], "\n", len); strlcat(server_argv[idx], data, len); } diff --git a/usr.bin/cvs/util.c b/usr.bin/cvs/util.c index 5ca9bb8f73c..3d6b0948aab 100644 --- a/usr.bin/cvs/util.c +++ b/usr.bin/cvs/util.c @@ -1,4 +1,4 @@ -/* $OpenBSD: util.c,v 1.155 2011/04/20 18:43:57 nicm Exp $ */ +/* $OpenBSD: util.c,v 1.156 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org> * Copyright (c) 2005, 2006 Joris Vink <joris@openbsd.org> @@ -768,7 +768,7 @@ cvs_strsplit(char *str, const char *sep) while ((p = strsep(&cp, sep)) != NULL) { av->argv[i++] = p; - av->argv = xrealloc(av->argv, + av->argv = xreallocarray(av->argv, i + 1, sizeof(*(av->argv))); } av->argv[i] = NULL; diff --git a/usr.bin/cvs/xmalloc.c b/usr.bin/cvs/xmalloc.c index 009ccc063a9..806cd3e1476 100644 --- a/usr.bin/cvs/xmalloc.c +++ b/usr.bin/cvs/xmalloc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: xmalloc.c,v 1.9 2009/06/07 08:39:13 ray Exp $ */ +/* $OpenBSD: xmalloc.c,v 1.10 2014/12/01 21:58:46 deraadt Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -51,7 +51,7 @@ xcalloc(size_t nmemb, size_t size) } void * -xrealloc(void *ptr, size_t nmemb, size_t size) +xreallocarray(void *ptr, size_t nmemb, size_t size) { void *new_ptr; size_t new_size = nmemb * size; @@ -60,10 +60,7 @@ xrealloc(void *ptr, size_t nmemb, size_t size) fatal("xrealloc: zero size"); if (SIZE_MAX / nmemb < size) fatal("xrealloc: nmemb * size > SIZE_MAX"); - if (ptr == NULL) - new_ptr = malloc(new_size); - else - new_ptr = realloc(ptr, new_size); + new_ptr = realloc(ptr, new_size); if (new_ptr == NULL) fatal("xrealloc: out of memory (new_size %lu bytes)", (u_long) new_size); diff --git a/usr.bin/cvs/xmalloc.h b/usr.bin/cvs/xmalloc.h index 54b39dce9bd..e6c9950ea64 100644 --- a/usr.bin/cvs/xmalloc.h +++ b/usr.bin/cvs/xmalloc.h @@ -1,4 +1,4 @@ -/* $OpenBSD: xmalloc.h,v 1.3 2007/01/29 16:22:29 xsa Exp $ */ +/* $OpenBSD: xmalloc.h,v 1.4 2014/12/01 21:58:46 deraadt Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> @@ -21,7 +21,7 @@ void *xmalloc(size_t); void *xcalloc(size_t, size_t); -void *xrealloc(void *, size_t, size_t); +void *xreallocarray(void *, size_t, size_t); void xfree(void *); char *xstrdup(const char *); int xasprintf(char **, const char *, ...) diff --git a/usr.bin/rcs/buf.c b/usr.bin/rcs/buf.c index 22575358a9a..1eefbd1da11 100644 --- a/usr.bin/rcs/buf.c +++ b/usr.bin/rcs/buf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: buf.c,v 1.22 2011/07/06 15:36:52 nicm Exp $ */ +/* $OpenBSD: buf.c,v 1.23 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (c) 2003 Jean-Francois Brousseau <jfb@openbsd.org> * All rights reserved. @@ -325,6 +325,6 @@ buf_write_stmp(BUF *b, char *template) static void buf_grow(BUF *b, size_t len) { - b->cb_buf = xrealloc(b->cb_buf, 1, b->cb_size + len); + b->cb_buf = xreallocarray(b->cb_buf, 1, b->cb_size + len); b->cb_size += len; } diff --git a/usr.bin/rcs/diff.c b/usr.bin/rcs/diff.c index ecc29c7799c..b19dcd1224c 100644 --- a/usr.bin/rcs/diff.c +++ b/usr.bin/rcs/diff.c @@ -1,4 +1,4 @@ -/* $OpenBSD: diff.c,v 1.35 2014/10/10 08:15:25 otto Exp $ */ +/* $OpenBSD: diff.c,v 1.36 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (C) Caldera International Inc. 2001-2002. * All rights reserved. @@ -359,11 +359,11 @@ diffreg(const char *file1, const char *file2, BUF *out, int flags) member = (int *)file[1]; equiv(sfile[0], slen[0], sfile[1], slen[1], member); - member = xrealloc(member, slen[1] + 2, sizeof(*member)); + member = xreallocarray(member, slen[1] + 2, sizeof(*member)); class = (int *)file[0]; unsort(sfile[0], slen[0], class); - class = xrealloc(class, slen[0] + 2, sizeof(*class)); + class = xreallocarray(class, slen[0] + 2, sizeof(*class)); klist = xcalloc(slen[0] + 2, sizeof(*klist)); clen = 0; @@ -373,13 +373,13 @@ diffreg(const char *file1, const char *file2, BUF *out, int flags) xfree(member); xfree(class); - J = xrealloc(J, len[0] + 2, sizeof(*J)); + J = xreallocarray(J, len[0] + 2, sizeof(*J)); unravel(klist[i]); xfree(clist); xfree(klist); - ixold = xrealloc(ixold, len[0] + 2, sizeof(*ixold)); - ixnew = xrealloc(ixnew, len[1] + 2, sizeof(*ixnew)); + ixold = xreallocarray(ixold, len[0] + 2, sizeof(*ixold)); + ixnew = xreallocarray(ixnew, len[1] + 2, sizeof(*ixnew)); check(f1, f2, flags); output(f1, f2, flags); @@ -440,7 +440,7 @@ prepare(int i, FILE *fd, off_t filesize, int flags) for (j = 0; (h = readhash(fd, flags));) { if (j == sz) { sz = sz * 3 / 2; - p = xrealloc(p, sz + 3, sizeof(*p)); + p = xreallocarray(p, sz + 3, sizeof(*p)); } p[++j].value = h; } @@ -571,7 +571,7 @@ newcand(int x, int y, int pred) if (clen == clistlen) { clistlen = clistlen * 11 / 10; - clist = xrealloc(clist, clistlen, sizeof(*clist)); + clist = xreallocarray(clist, clistlen, sizeof(*clist)); } q = clist + clen; q->x = x; @@ -910,7 +910,7 @@ proceed: if (context_vec_ptr == context_vec_end - 1) { ptrdiff_t offset = context_vec_ptr - context_vec_start; max_context <<= 1; - context_vec_start = xrealloc(context_vec_start, + context_vec_start = xreallocarray(context_vec_start, max_context, sizeof(*context_vec_start)); context_vec_end = context_vec_start + max_context; context_vec_ptr = context_vec_start + offset; diff --git a/usr.bin/rcs/diff3.c b/usr.bin/rcs/diff3.c index d234ba7db81..9ceae97d302 100644 --- a/usr.bin/rcs/diff3.c +++ b/usr.bin/rcs/diff3.c @@ -1,4 +1,4 @@ -/* $OpenBSD: diff3.c,v 1.33 2012/03/04 04:05:15 fgsch Exp $ */ +/* $OpenBSD: diff3.c,v 1.34 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (C) Caldera International Inc. 2001-2002. @@ -637,7 +637,7 @@ get_line(FILE *b, size_t *n) do { bufsize += 1024; } while (len + 1 > bufsize); - buf = xrealloc(buf, 1, bufsize); + buf = xreallocarray(buf, 1, bufsize); } memcpy(buf, cp, len - 1); buf[len - 1] = '\n'; @@ -934,13 +934,13 @@ increase(void) newsz = szchanges == 0 ? 64 : 2 * szchanges; incr = newsz - szchanges; - d13 = xrealloc(d13, newsz, sizeof(*d13)); + d13 = xreallocarray(d13, newsz, sizeof(*d13)); memset(d13 + szchanges, 0, incr * sizeof(*d13)); - d23 = xrealloc(d23, newsz, sizeof(*d23)); + d23 = xreallocarray(d23, newsz, sizeof(*d23)); memset(d23 + szchanges, 0, incr * sizeof(*d23)); - de = xrealloc(de, newsz, sizeof(*de)); + de = xreallocarray(de, newsz, sizeof(*de)); memset(de + szchanges, 0, incr * sizeof(*de)); - overlap = xrealloc(overlap, newsz, sizeof(*overlap)); + overlap = xreallocarray(overlap, newsz, sizeof(*overlap)); memset(overlap + szchanges, 0, incr * sizeof(*overlap)); szchanges = newsz; } diff --git a/usr.bin/rcs/rcsdiff.c b/usr.bin/rcs/rcsdiff.c index 0938eec2143..f508dba3ecf 100644 --- a/usr.bin/rcs/rcsdiff.c +++ b/usr.bin/rcs/rcsdiff.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rcsdiff.c,v 1.80 2014/10/02 06:23:15 otto Exp $ */ +/* $OpenBSD: rcsdiff.c,v 1.81 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (c) 2005 Joris Vink <joris@openbsd.org> * All rights reserved. @@ -457,7 +457,7 @@ push_ignore_pats(char *pattern) } else { /* old + "|" + new + NUL */ len = strlen(diff_ignore_pats) + strlen(pattern) + 2; - diff_ignore_pats = xrealloc(diff_ignore_pats, len, 1); + diff_ignore_pats = xreallocarray(diff_ignore_pats, len, 1); strlcat(diff_ignore_pats, "|", len); strlcat(diff_ignore_pats, pattern, len); } diff --git a/usr.bin/rcs/rcsnum.c b/usr.bin/rcs/rcsnum.c index 428fa76b350..907683453cb 100644 --- a/usr.bin/rcs/rcsnum.c +++ b/usr.bin/rcs/rcsnum.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rcsnum.c,v 1.14 2014/01/07 14:08:16 deraadt Exp $ */ +/* $OpenBSD: rcsnum.c,v 1.15 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org> * All rights reserved. @@ -257,7 +257,7 @@ rcsnum_aton(const char *str, char **ep, RCSNUM *nump) } nump->rn_len++; - nump->rn_id = xrealloc(nump->rn_id, + nump->rn_id = xreallocarray(nump->rn_id, nump->rn_len + 1, sizeof(*(nump->rn_id))); nump->rn_id[nump->rn_len] = 0; continue; @@ -320,7 +320,7 @@ rcsnum_aton(const char *str, char **ep, RCSNUM *nump) /* We can't have a single-digit rcs number. */ if (nump->rn_len == 0) { nump->rn_len++; - nump->rn_id = xrealloc(nump->rn_id, + nump->rn_id = xreallocarray(nump->rn_id, nump->rn_len + 1, sizeof(*(nump->rn_id))); nump->rn_id[nump->rn_len] = 0; } @@ -400,6 +400,6 @@ rcsnum_brtorev(const RCSNUM *brnum) static void rcsnum_setsize(RCSNUM *num, u_int len) { - num->rn_id = xrealloc(num->rn_id, len, sizeof(*(num->rn_id))); + num->rn_id = xreallocarray(num->rn_id, len, sizeof(*(num->rn_id))); num->rn_len = len; } diff --git a/usr.bin/rcs/rcsparse.c b/usr.bin/rcs/rcsparse.c index e699e6c9703..2328482d29f 100644 --- a/usr.bin/rcs/rcsparse.c +++ b/usr.bin/rcs/rcsparse.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rcsparse.c,v 1.13 2014/11/22 18:01:09 deraadt Exp $ */ +/* $OpenBSD: rcsparse.c,v 1.14 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (c) 2010 Tobias Stoeckmann <tobias@openbsd.org> * @@ -1199,7 +1199,7 @@ rcsparse_growbuf(RCSFILE *rfp) { struct rcs_pdata *pdp = (struct rcs_pdata *)rfp->rf_pdata; - pdp->rp_buf = xrealloc(pdp->rp_buf, 1, + pdp->rp_buf = xreallocarray(pdp->rp_buf, 1, pdp->rp_blen + RCS_BUFEXTSIZE); pdp->rp_blen += RCS_BUFEXTSIZE; pdp->rp_bufend = pdp->rp_buf + pdp->rp_blen - 1; diff --git a/usr.bin/rcs/rcsprog.c b/usr.bin/rcs/rcsprog.c index f8af1060429..c4b4729f8b3 100644 --- a/usr.bin/rcs/rcsprog.c +++ b/usr.bin/rcs/rcsprog.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rcsprog.c,v 1.153 2014/10/10 08:03:39 otto Exp $ */ +/* $OpenBSD: rcsprog.c,v 1.154 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (c) 2005 Jean-Francois Brousseau <jfb@openbsd.org> * All rights reserved. @@ -100,7 +100,7 @@ build_cmd(char ***cmd_argv, char **argv, int argc) if (cmd_argc == cur) { cur += 8; - *cmd_argv = xrealloc(*cmd_argv, cur, + *cmd_argv = xreallocarray(*cmd_argv, cur, sizeof(char *)); } @@ -109,7 +109,7 @@ build_cmd(char ***cmd_argv, char **argv, int argc) if (cmd_argc + argc > cur) { cur = cmd_argc + argc + 1; - *cmd_argv = xrealloc(*cmd_argv, cur, + *cmd_argv = xreallocarray(*cmd_argv, cur, sizeof(char *)); } diff --git a/usr.bin/rcs/rcsutil.c b/usr.bin/rcs/rcsutil.c index 5e7d936d448..f27cf467e3e 100644 --- a/usr.bin/rcs/rcsutil.c +++ b/usr.bin/rcs/rcsutil.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rcsutil.c,v 1.41 2014/10/10 08:15:25 otto Exp $ */ +/* $OpenBSD: rcsutil.c,v 1.42 2014/12/01 21:58:46 deraadt Exp $ */ /* * Copyright (c) 2005, 2006 Joris Vink <joris@openbsd.org> * Copyright (c) 2006 Xavier Santolaria <xsa@openbsd.org> @@ -592,7 +592,7 @@ rcs_strsplit(const char *str, const char *sep) while ((p = strsep(&cp, sep)) != NULL) { av->argv[i++] = p; - av->argv = xrealloc(av->argv, + av->argv = xreallocarray(av->argv, i + 1, sizeof(*(av->argv))); } av->argv[i] = NULL; diff --git a/usr.bin/rcs/xmalloc.c b/usr.bin/rcs/xmalloc.c index 246013e576e..767ce14e2bb 100644 --- a/usr.bin/rcs/xmalloc.c +++ b/usr.bin/rcs/xmalloc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: xmalloc.c,v 1.5 2014/09/27 15:16:36 otto Exp $ */ +/* $OpenBSD: xmalloc.c,v 1.6 2014/12/01 21:58:46 deraadt Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -54,22 +54,14 @@ xcalloc(size_t nmemb, size_t size) } void * -xrealloc(void *ptr, size_t nmemb, size_t size) +xreallocarray(void *ptr, size_t nmemb, size_t size) { void *new_ptr; - size_t new_size = nmemb * size; - if (new_size == 0) - errx(1, "xrealloc: zero size"); - if (SIZE_MAX / nmemb < size) - errx(1, "xrealloc: nmemb * size > SIZE_MAX"); - if (ptr == NULL) - new_ptr = malloc(new_size); - else - new_ptr = realloc(ptr, new_size); + new_ptr = reallocarray(ptr, nmemb, size); if (new_ptr == NULL) errx(1, "xrealloc: out of memory (new_size %zu bytes)", - new_size); + nmemb * size); return new_ptr; } diff --git a/usr.bin/rcs/xmalloc.h b/usr.bin/rcs/xmalloc.h index 51dfb5564cd..561e6924b74 100644 --- a/usr.bin/rcs/xmalloc.h +++ b/usr.bin/rcs/xmalloc.h @@ -1,4 +1,4 @@ -/* $OpenBSD: xmalloc.h,v 1.1 2006/04/26 02:55:13 joris Exp $ */ +/* $OpenBSD: xmalloc.h,v 1.2 2014/12/01 21:58:46 deraadt Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> @@ -21,7 +21,7 @@ void *xmalloc(size_t); void *xcalloc(size_t, size_t); -void *xrealloc(void *, size_t, size_t); +void *xreallocarray(void *, size_t, size_t); void xfree(void *); char *xstrdup(const char *); int xasprintf(char **, const char *, ...) |