diff --git a/src/psl.c b/src/psl.c index 5280ec6..9c70a0f 100644 --- a/src/psl.c +++ b/src/psl.c @@ -93,7 +93,13 @@ static char *strndup(const char *s, size_t n) { - char *dst = malloc(n + 1); + char *dst; + size_t s_len = strlen(s); + + if (s_len > n) + n = s_len; + + dst = malloc(n + 1); if (dst) { memcpy(dst, s, n);