From: Qu Wenruo Date: Wed, 24 Jun 2020 16:03:04 +0000 (+0200) Subject: fs: btrfs: inode: Allow next_length() to return value > BTRFS_NAME_LEN X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=5bdcb37495d594c352221f582e31a0ec04b7d58b;p=u-boot.git fs: btrfs: inode: Allow next_length() to return value > BTRFS_NAME_LEN All existing next_length() caller handles return value > BTRFS_NAME_LEN, so there is no need to do BTRFS_NAME_LEN check in next_length(). But still, we want to exit early if we're beyond BTRFS_NAME_LEN, so this patch makes next_length() exit as soon as we're beyond BTRFS_NAME_LEN. Signed-off-by: Qu Wenruo Reviewed-by: Marek BehĂșn --- diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 007cf32c16..da2a5e90a1 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -217,8 +217,12 @@ static u64 __get_parent_inode(struct __btrfs_root *root, u64 inr, static inline int next_length(const char *path) { int res = 0; - while (*path != '\0' && *path != '/' && res <= BTRFS_NAME_LEN) - ++res, ++path; + while (*path != '\0' && *path != '/') { + ++res; + ++path; + if (res > BTRFS_NAME_LEN) + break; + } return res; }