diff options
author | J. Bruce Fields <bfields@citi.umich.edu> | 2007-10-26 13:32:50 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2008-02-01 16:42:01 -0500 |
commit | d4395e03fec0895d01451904b8a2276ceda663c9 (patch) | |
tree | b4dd510ce3aa21a8f055d189e77b8047d162fa2d | |
parent | aefa89d178e6dd83889b66d4e800d4d77363900b (diff) | |
download | op-kernel-dev-d4395e03fec0895d01451904b8a2276ceda663c9.zip op-kernel-dev-d4395e03fec0895d01451904b8a2276ceda663c9.tar.gz |
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: J. Bruce Fields <bfields@citi.umich.edu>
-rw-r--r-- | fs/nfsd/nfs4idmap.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/fs/nfsd/nfs4idmap.c b/fs/nfsd/nfs4idmap.c index 4c0c683..5b56c77 100644 --- a/fs/nfsd/nfs4idmap.c +++ b/fs/nfsd/nfs4idmap.c @@ -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; - goto out; - } + 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) |