diff options
author | dillon <dillon@FreeBSD.org> | 1999-12-12 07:06:39 +0000 |
---|---|---|
committer | dillon <dillon@FreeBSD.org> | 1999-12-12 07:06:39 +0000 |
commit | 08e8d78b501bf7a046c5972d20a883d62ec5456b (patch) | |
tree | cf098b01da15fcb058627fac2994e8366d544280 /sys/nfs/nfs_nqlease.c | |
parent | 9c9d5f88d9b204e3a4bd9974961b1e1cfff5b952 (diff) | |
download | FreeBSD-src-08e8d78b501bf7a046c5972d20a883d62ec5456b.zip FreeBSD-src-08e8d78b501bf7a046c5972d20a883d62ec5456b.tar.gz |
Fix a number of server-side issues related to aborting badly formed
NFS packets, mainly initializing structure pointers to NULL which
are conditionally freed prior to return.
PR: kern/15249
Submitted by: Ian Dowse <iedowse@maths.tcd.ie>
Diffstat (limited to 'sys/nfs/nfs_nqlease.c')
-rw-r--r-- | sys/nfs/nfs_nqlease.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/nfs/nfs_nqlease.c b/sys/nfs/nfs_nqlease.c index e64a82a..be90100 100644 --- a/sys/nfs/nfs_nqlease.c +++ b/sys/nfs/nfs_nqlease.c @@ -769,8 +769,10 @@ nqnfsrv_getlease(nfsd, slp, procp, mrq) nfsd->nd_duration = fxdr_unsigned(int, *tl); error = nfsrv_fhtovp(fhp, 1, &vp, cred, slp, nam, &rdonly, (nfsd->nd_flag & ND_KERBAUTH), TRUE); - if (error) + if (error) { nfsm_reply(0); + goto nfsmout; + } if (rdonly && flags == ND_WRITE) { error = EROFS; vput(vp); |