From: Kay Sievers Date: Tue, 17 Apr 2012 12:43:28 +0000 (+0200) Subject: mkdir: do not use alloca() in a loop X-Git-Tag: v183~273 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=75e37ac5b125713c5ab6e1c4a9d62cfb62948c27 mkdir: do not use alloca() in a loop --- diff --git a/src/shared/mkdir.c b/src/shared/mkdir.c index fef674c1b..b102af779 100644 --- a/src/shared/mkdir.c +++ b/src/shared/mkdir.c @@ -84,10 +84,12 @@ int mkdir_parents(const char *path, mode_t mode) { if (*p == 0) return 0; - if (!(t = strndupa(path, e - path))) + t = strndup(path, e - path); + if (!t) return -ENOMEM; r = label_mkdir(t, mode); + free(t); if (r < 0 && errno != EEXIST) return -errno;