summary refs log tree commit diff stats
path: root/cutils.c
diff options
context:
space:
mode:
Diffstat (limited to 'cutils.c')
-rw-r--r--cutils.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/cutils.c b/cutils.c
index 9ef2fa627c..8fcb62efed 100644
--- a/cutils.c
+++ b/cutils.c
@@ -50,6 +50,18 @@ char *pstrcat(char *buf, int buf_size, const char *s)
     return buf;
 }
 
+/* strdup with a limit */
+char *pstrdup(const char *str, size_t buf_size)
+{
+    size_t len;
+    char *buf;
+
+    len = MIN(buf_size, strlen(str));
+    buf = qemu_malloc(len);
+    pstrcpy(buf, len, str);
+    return buf;
+}
+
 int strstart(const char *str, const char *val, const char **ptr)
 {
     const char *p, *q;