summaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
authorVladislav Egorov <[email protected]>2017-05-21 22:49:19 +0200
committerTimothy Arceri <[email protected]>2017-05-22 12:34:28 +1000
commitcf164d9e975e2aa677b041c012cf843bd44e370a (patch)
treeebf09be8d72dc6df9d8dbc12532b6f752e3c4b23 /src/util
parent4a47247523e678a3a9d3939e8a3c217188b99452 (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')
-rw-r--r--src/util/ralloc.c7
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 *