diff options
author | Vladislav Egorov <[email protected]> | 2017-05-21 22:49:19 +0200 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2017-05-22 12:34:28 +1000 |
commit | cf164d9e975e2aa677b041c012cf843bd44e370a (patch) | |
tree | ebf09be8d72dc6df9d8dbc12532b6f752e3c4b23 /src/util/ralloc.c | |
parent | 4a47247523e678a3a9d3939e8a3c217188b99452 (diff) |
ralloc: Use strnlen() inside of strncat()
If the str is long or isn't null-terminated, strlen() could take a lot
of time or even crash. I don't know why was it used in the first place,
maybe for platforms without strnlen(), but strnlen() is already used
inside of ralloc_strndup(), so this change should not additionally
break anything.
Reviewed-by: Ian Romanick <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src/util/ralloc.c')
-rw-r--r-- | src/util/ralloc.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/util/ralloc.c b/src/util/ralloc.c index 7bf192e0db7..953f36e6bcd 100644 --- a/src/util/ralloc.c +++ b/src/util/ralloc.c @@ -405,12 +405,7 @@ ralloc_strcat(char **dest, const char *str) bool ralloc_strncat(char **dest, const char *str, size_t n) { - /* Clamp n to the string length */ - size_t str_length = strlen(str); - if (str_length < n) - n = str_length; - - return cat(dest, str, n); + return cat(dest, str, strnlen(str, n)); } char * |