Diff between 3a53b27e4db784a72f1c213735f8d44160cd1910 and 9f09e69ecb077082301dafb745856e1f3731aaa7

Changed Files

File Additions Deletions Status
src/shared/util.c +16 -0 modified
src/shared/util.h +1 -0 modified

Full Patch

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
@@ -41,6 +41,22 @@ void *util_malloc(size_t size)
 	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
@@ -87,6 +87,7 @@ char *strdelimit(char *str, char *del, char c);
 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);