From d288eba0a5b1fb379a58e1fb6c16b149b6758b3d Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Fri, 25 Aug 2017 11:24:07 -0700 Subject: Add nni_strnlen. More string safety for stuff coming from externals. --- src/core/strs.c | 14 ++++++++++++++ src/core/strs.h | 1 + 2 files changed, 15 insertions(+) (limited to 'src/core') diff --git a/src/core/strs.c b/src/core/strs.c index 7f236236..08338499 100644 --- a/src/core/strs.c +++ b/src/core/strs.c @@ -96,3 +96,17 @@ nni_strlcat(char *dst, const char *src, size_t len) return (n - 1); #endif } + +size_t +nni_strnlen(const char *s, size_t len) +{ +#ifdef NNG_HAVE_STRNLEN + return (strnlen(s, len)); +#else + size_t n; + for (n = 0; (n < len) && (*s); n++) { + s++; + } + return (n); +#endif +} diff --git a/src/core/strs.h b/src/core/strs.h index 741504cd..42ec4997 100644 --- a/src/core/strs.h +++ b/src/core/strs.h @@ -17,5 +17,6 @@ extern char * nni_strdup(const char *); extern void nni_strfree(char *); extern size_t nni_strlcpy(char *, const char *, size_t); extern size_t nni_strlcat(char *, const char *, size_t); +extern size_t nni_strnlen(const char *, size_t); #endif // CORE_STRS_H -- cgit v1.2.3-70-g09d2