Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 21d8a15a authored by Al Viro's avatar Al Viro
Browse files

lookup_one_len: don't accept . and ..



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 0903a0c8
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -2131,6 +2131,11 @@ struct dentry *lookup_one_len(const char *name, struct dentry *base, int len)
	if (!len)
		return ERR_PTR(-EACCES);

	if (unlikely(name[0] == '.')) {
		if (len < 2 || (len == 2 && name[1] == '.'))
			return ERR_PTR(-EACCES);
	}

	while (len--) {
		c = *(const unsigned char *)name++;
		if (c == '/' || c == '\0')