summaryrefslogtreecommitdiff
path: root/source3/lib/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/lib/util.c')
-rw-r--r--source3/lib/util.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/source3/lib/util.c b/source3/lib/util.c
index cd170ff3d3..90bb462d0e 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -1649,9 +1649,9 @@ void *xmalloc(size_t size)
{
void *p;
if (size == 0)
- smb_panic("xmalloc called with zero size.\n");
+ smb_panic("xmalloc: called with zero size.\n");
if ((p = malloc(size)) == NULL)
- smb_panic("xmalloc malloc fail.\n");
+ smb_panic("xmalloc: malloc fail.\n");
return p;
}
@@ -1668,6 +1668,18 @@ void *xmemdup(void *p, size_t size)
}
/*****************************************************************
+ strdup that aborts on malloc fail.
+ *****************************************************************/
+
+char *xstrdup(const char *s)
+{
+ char *s1 = strdup(s);
+ if (!s1)
+ smb_panic("xstrdup: malloc fail\n");
+ return s1;
+}
+
+/*****************************************************************
like strdup but for memory
*****************************************************************/
void *memdup(void *p, size_t size)