aboutsummaryrefslogtreecommitdiff
path: root/xmalloc.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2014-10-16 16:46:31 +0100
committerThomas Adam <thomas@xteddy.org>2014-10-16 16:46:31 +0100
commita77355b6bf9a0beb2e9d0a8b9613266984bb598d (patch)
tree38ca21b0aeb986adea2de22cc12adda8a52cf4c5 /xmalloc.c
parent2874a431c050527244a56e7f241baf053c722f88 (diff)
parenta27ba6e38006c12c48de88600b8cff9f6aabfed7 (diff)
downloadrtmux-a77355b6bf9a0beb2e9d0a8b9613266984bb598d.tar.gz
rtmux-a77355b6bf9a0beb2e9d0a8b9613266984bb598d.tar.bz2
rtmux-a77355b6bf9a0beb2e9d0a8b9613266984bb598d.zip
Merge branch 'obsd-master'
Diffstat (limited to 'xmalloc.c')
-rw-r--r--xmalloc.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/xmalloc.c b/xmalloc.c
index df583e55..a1bc6b8f 100644
--- a/xmalloc.c
+++ b/xmalloc.c
@@ -67,7 +67,20 @@ xmalloc(size_t size)
}
void *
-xrealloc(void *oldptr, size_t nmemb, size_t size)
+xrealloc(void *oldptr, size_t newsize)
+{
+ void *newptr;
+
+ if (newsize == 0)
+ fatalx("zero size");
+ if ((newptr = realloc(oldptr, newsize)) == NULL)
+ fatal("xrealloc failed");
+
+ return (newptr);
+}
+
+void *
+xreallocarray(void *oldptr, size_t nmemb, size_t size)
{
size_t newsize = nmemb * size;
void *newptr;
@@ -77,7 +90,7 @@ xrealloc(void *oldptr, size_t nmemb, size_t size)
if (SIZE_MAX / nmemb < size)
fatalx("nmemb * size > SIZE_MAX");
if ((newptr = realloc(oldptr, newsize)) == NULL)
- fatal("xrealloc failed");
+ fatal("xreallocarray failed");
return (newptr);
}