From: Andreas Schneider Date: Tue, 8 May 2018 07:22:00 +0000 (+0200) Subject: lib:util: Fix string check in mkdir_p() X-Git-Tag: ldb-1.4.0~130 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7cec343a89a0862c09f5ddd4707eb442157a4af2;p=thirdparty%2Fsamba.git lib:util: Fix string check in mkdir_p() BUG: https://bugzilla.samba.org/show_bug.cgi?id=13437 Signed-off-by: Andreas Schneider Reviewed-by: Guenther Deschner --- diff --git a/lib/util/mkdir_p.c b/lib/util/mkdir_p.c index 290a1f39520..87a3f797618 100644 --- a/lib/util/mkdir_p.c +++ b/lib/util/mkdir_p.c @@ -49,11 +49,11 @@ int mkdir_p(const char *dir, int mode) /* Create ancestors */ len = strlen(dir); - if (len >= PATH_MAX) { + ret = snprintf(t, sizeof(t), "%s", dir); + if (ret != len) { errno = ENAMETOOLONG; return -1; } - strncpy(t, dir, len+1); ret = mkdir_p(dirname(t), mode); if (ret != 0) {