From 7368eb621e6c94dd8fd37020568f32c120afabf9 Mon Sep 17 00:00:00 2001 From: Chris Dunlap Date: Tue, 8 Apr 2014 15:31:11 -0700 Subject: [PATCH] Set errno for mkdirp() called with NULL path ptr If mkdirp() is called with a NULL ptr for the path arg, it will return -1 with errno unchanged. This is unexpected since on error it should return -1 and set errno to one of the error values listed for mkdir(2). This commit sets errno = ENOENT for this NULL ptr case. This is in accordance with the errors specified by mkdir(2): ENOENT A component of the path prefix does not exist or is a null pathname. Signed-off-by: Chris Dunlap Signed-off-by: Brian Behlendorf Issue #2248 --- lib/libspl/mkdirp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/libspl/mkdirp.c b/lib/libspl/mkdirp.c index f98e31e2d..2f091883a 100644 --- a/lib/libspl/mkdirp.c +++ b/lib/libspl/mkdirp.c @@ -146,8 +146,10 @@ simplify(const char *str) * bail out if there is nothing there. */ - if (!str) + if (!str) { + errno = ENOENT; return (NULL); + } /* * Get a copy of the argument. -- 2.40.0