From 63199d368fb42de20179529711ba96b295e97d4a Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Sat, 30 Dec 2017 15:17:14 +0100 Subject: [PATCH] conf: lim2str(): Fix buffer overflow in local debug function Signed-off-by: Joachim Nilsson --- src/conf.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/conf.c b/src/conf.c index d2a6d3fe..4188c465 100644 --- a/src/conf.c +++ b/src/conf.c @@ -254,21 +254,21 @@ char *rlim2str(int rlim) char *lim2str(struct rlimit *rlim) { - char tmp[10]; + char tmp[20]; static char buf[42]; memset(buf, 0, sizeof(buf)); if (RLIM_INFINITY == rlim->rlim_cur) - sprintf(tmp, "unlimited, "); + snprintf(tmp, sizeof(tmp), "unlimited, "); else - sprintf(tmp, "%llu, ", (unsigned long long)rlim->rlim_cur); - strcat(buf, tmp); + snprintf(tmp, sizeof(tmp), "%llu, ", (unsigned long long)rlim->rlim_cur); + strlcat(buf, tmp, sizeof(buf)); if (RLIM_INFINITY == rlim->rlim_max) - sprintf(tmp, "unlimited, "); + snprintf(tmp, sizeof(tmp), "unlimited, "); else - sprintf(tmp, "%llu, ", (unsigned long long)rlim->rlim_max); - strcat(buf, tmp); + snprintf(tmp, sizeof(tmp), "%llu, ", (unsigned long long)rlim->rlim_max); + strlcat(buf, tmp, sizeof(buf)); return buf; }