From 7a07205f1bd5f5dca66a07b8538faaf74b903608 Mon Sep 17 00:00:00 2001 From: Giuseppe Scrivano Date: Sat, 28 Feb 2015 18:52:47 +0100 Subject: [PATCH] psl.c: fix strndup replacement Do not copy more bytes than the src string length. --- src/psl.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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);