summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2017-07-04 17:25:02 +0100
committerAl Viro <viro@zeniv.linux.org.uk>2017-07-06 03:27:09 -0400
commitf35157417215ec138c920320c746fdb3e04ef1d5 (patch)
tree5d8e536fc716419fe3b9474dcacb92c6f055930f /include
parentc0bc126f97fb929b3ae02c1c62322645d70eb408 (diff)
downloadlinux-f35157417215ec138c920320c746fdb3e04ef1d5.tar.gz
linux-f35157417215ec138c920320c746fdb3e04ef1d5.tar.bz2
linux-f35157417215ec138c920320c746fdb3e04ef1d5.zip
Provide a function to create a NUL-terminated string from unterminated data
Provide a function, kmemdup_nul(), that will create a NUL-terminated string from an unterminated character array where the length is known in advance. This is better than kstrndup() in situations where we already know the string length as the strnlen() in kstrndup() is superfluous. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include')
-rw-r--r--include/linux/string.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/string.h b/include/linux/string.h
index 537918f8a98e..3dd944cfe171 100644
--- a/include/linux/string.h
+++ b/include/linux/string.h
@@ -131,6 +131,7 @@ extern char *kstrdup(const char *s, gfp_t gfp) __malloc;
extern const char *kstrdup_const(const char *s, gfp_t gfp);
extern char *kstrndup(const char *s, size_t len, gfp_t gfp);
extern void *kmemdup(const void *src, size_t len, gfp_t gfp);
+extern char *kmemdup_nul(const char *s, size_t len, gfp_t gfp);
extern char **argv_split(gfp_t gfp, const char *str, int *argcp);
extern void argv_free(char **argv);