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

Commit d4395e03 authored by J. Bruce Fields's avatar J. Bruce Fields
Browse files

knfsd: fix broken length check in nfs4idmap.c



Obviously at some point we thought "error" represented the length when
positive.  This appears to be a long-standing typo.

Thanks to Prasad Potluri <pvp@us.ibm.com> for finding the problem and
proposing an earlier version of this patch.

Cc: Steve French <smfltc@us.ibm.com>
Cc: Prasad V Potluri <pvp@us.ibm.com>
Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
parent aefa89d1
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -255,13 +255,10 @@ idtoname_parse(struct cache_detail *cd, char *buf, int buflen)
		goto out;
	if (len == 0)
		set_bit(CACHE_NEGATIVE, &ent.h.flags);
	else {
		if (error >= IDMAP_NAMESZ) {
			error = -EINVAL;
	else if (len >= IDMAP_NAMESZ)
		goto out;
		}
	else
		memcpy(ent.name, buf1, sizeof(ent.name));
	}
	error = -ENOMEM;
	res = idtoname_update(&ent, res);
	if (res == NULL)