diff --git a/src/shared/util.c b/src/shared/util.c
index 9311004..6e1c830 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
return NULL;
}
+void *util_memdup(const void *src, size_t size)
+{
+ void *cpy;
+
+ if (!src || !size)
+ return NULL;
+
+ cpy = util_malloc(size);
+ if (!cpy)
+ return NULL;
+
+ memcpy(cpy, src, size);
+
+ return cpy;
+}
+
void util_debug_va(util_debug_func_t function, void *user_data,
const char *format, va_list va)
{
diff --git a/src/shared/util.h b/src/shared/util.h
index 11d0997..8ef6132 100644
--- a/src/shared/util.h
+++ b/src/shared/util.h
int strsuffix(const char *str, const char *suffix);
void *util_malloc(size_t size);
+void *util_memdup(const void *src, size_t size);
typedef void (*util_debug_func_t)(const char *str, void *user_data);