diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-08-25 11:24:07 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-08-28 11:39:03 -0700 |
| commit | d288eba0a5b1fb379a58e1fb6c16b149b6758b3d (patch) | |
| tree | 04b3f05d53add562b97e738904359b5d453d03a7 /src/core | |
| parent | 601c64ec4f2b8a41fba59d31a987090feeb69e84 (diff) | |
| download | nng-d288eba0a5b1fb379a58e1fb6c16b149b6758b3d.tar.gz nng-d288eba0a5b1fb379a58e1fb6c16b149b6758b3d.tar.bz2 nng-d288eba0a5b1fb379a58e1fb6c16b149b6758b3d.zip | |
Add nni_strnlen.
More string safety for stuff coming from externals.
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/strs.c | 14 | ||||
| -rw-r--r-- | src/core/strs.h | 1 |
2 files changed, 15 insertions, 0 deletions
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 |
