diff options
author | Gustavo Sverzut Barbieri <barbieri@profusion.mobi> | 2017-03-29 10:11:01 -0300 |
---|---|---|
committer | Gustavo Sverzut Barbieri <barbieri@profusion.mobi> | 2017-03-29 10:11:01 -0300 |
commit | 1ebc5c3ee814650e6be7603736bdbb60d8b84fef (patch) | |
tree | a5cff1d3c4e5e4f66ac9ce67383861ce2aa86af8 | |
parent | 096f389e60d0a809c2414c9dcd3adbf5c0dd51cf (diff) | |
download | efl-devs/barbieri/efl_net_socket_windows2.tar.gz |
evil_string: fix strndup() for non-NULL terminated strings.devs/barbieri/efl_net_socket_windows2
If the given string is not null-terminated, then strlen() will go out
of boundaries, we must limit the lookup to given 'n' parameter.
To do so use strnlen(), that is a strlen() bounded by a maximum size.
-rw-r--r-- | src/lib/evil/evil_string.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/lib/evil/evil_string.c b/src/lib/evil/evil_string.c index 634565b77a..4534b72437 100644 --- a/src/lib/evil/evil_string.c +++ b/src/lib/evil/evil_string.c @@ -18,10 +18,9 @@ char * strndup(const char *str, size_t n) { - size_t slen = strlen(str); + size_t slen = strnlen(str, n); char *ret; - if (slen > n) slen = n; ret = malloc (slen + 1); if (!ret) return NULL; |