summaryrefslogtreecommitdiff
path: root/xmalloc.c
diff options
context:
space:
mode:
authorderaadt@openbsd.org <deraadt@openbsd.org>2015-04-24 01:36:00 +0000
committerDamien Miller <djm@mindrot.org>2015-04-29 18:15:23 +1000
commit657a5fbc0d0aff309079ff8fb386f17e964963c2 (patch)
tree942146a8381a12903fdfaec579b9ff2b2bf41406 /xmalloc.c
parent1108ae242fdd2c304307b68ddf46aebe43ebffaa (diff)
upstream commit
rename xrealloc() to xreallocarray() since it follows that form. ok djm
Diffstat (limited to 'xmalloc.c')
-rw-r--r--xmalloc.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/xmalloc.c b/xmalloc.c
index cd59dc2e5..98cbf8776 100644
--- a/xmalloc.c
+++ b/xmalloc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: xmalloc.c,v 1.31 2015/02/06 23:21:59 millert Exp $ */ 1/* $OpenBSD: xmalloc.c,v 1.32 2015/04/24 01:36:01 deraadt Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -56,22 +56,14 @@ xcalloc(size_t nmemb, size_t size)
56} 56}
57 57
58void * 58void *
59xrealloc(void *ptr, size_t nmemb, size_t size) 59xreallocarray(void *ptr, size_t nmemb, size_t size)
60{ 60{
61 void *new_ptr; 61 void *new_ptr;
62 size_t new_size = nmemb * size;
63 62
64 if (new_size == 0) 63 new_ptr = reallocarray(ptr, nmemb, size);
65 fatal("xrealloc: zero size");
66 if (SIZE_MAX / nmemb < size)
67 fatal("xrealloc: nmemb * size > SIZE_MAX");
68 if (ptr == NULL)
69 new_ptr = malloc(new_size);
70 else
71 new_ptr = realloc(ptr, new_size);
72 if (new_ptr == NULL) 64 if (new_ptr == NULL)
73 fatal("xrealloc: out of memory (new_size %zu bytes)", 65 fatal("xreallocarray: out of memory (%zu elements of %zu bytes)",
74 new_size); 66 nmemb, size);
75 return new_ptr; 67 return new_ptr;
76} 68}
77 69