summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2021-05-07 12:48:40 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2021-05-07 12:53:38 +0200
commitef98a567d7468c9be9954be67a482d81447f4fb1 (patch)
tree4e461e9c70dc2c0af752e2cc653d1d8f6c422ffb /fs
parent9fc2b0364c4b686d110b772be2245be3a513407d (diff)
downloadbarebox-ef98a567d7468c9be9954be67a482d81447f4fb1.tar.gz
barebox-ef98a567d7468c9be9954be67a482d81447f4fb1.tar.xz
fs: check for empty name in getname()
getname() should return an error for an empty path. While at it, change getname() to return an error pointer. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'fs')
-rw-r--r--fs/fs.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/fs.c b/fs/fs.c
index 6de5a3b59e..09fccf9c28 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -1866,14 +1866,17 @@ static struct filename *getname(const char *filename)
{
struct filename *result;
+ if (!*filename)
+ return ERR_PTR(-ENOENT);
+
result = malloc(sizeof(*result));
if (!result)
- return NULL;
+ return ERR_PTR(-ENOMEM);
result->name = strdup(filename);
if (!result->name) {
free(result);
- return NULL;
+ return ERR_PTR(-ENOMEM);
}
result->refcnt = 1;