diff options
author | peter <peter@FreeBSD.org> | 1998-05-31 18:19:43 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1998-05-31 18:19:43 +0000 |
commit | c50a18d36198ccf7c910eaa7d796f37ec0b7301d (patch) | |
tree | 86ac96e9c4cdc35928f1af90147fd91168c1d9b7 /sys/nfsclient/nfs_vfsops.c | |
parent | 66a3e6b96c8976dd313815b455b57ab36f640b0c (diff) | |
download | FreeBSD-src-c50a18d36198ccf7c910eaa7d796f37ec0b7301d.zip FreeBSD-src-c50a18d36198ccf7c910eaa7d796f37ec0b7301d.tar.gz |
Don't try and free mrep twice on some error conditions.
Obtained from: NetBSD
Diffstat (limited to 'sys/nfsclient/nfs_vfsops.c')
-rw-r--r-- | sys/nfsclient/nfs_vfsops.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/nfsclient/nfs_vfsops.c b/sys/nfsclient/nfs_vfsops.c index 83dc7645..bbfa4d1 100644 --- a/sys/nfsclient/nfs_vfsops.c +++ b/sys/nfsclient/nfs_vfsops.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_vfsops.c 8.12 (Berkeley) 5/20/95 - * $Id: nfs_vfsops.c,v 1.64 1998/05/30 16:33:57 peter Exp $ + * $Id: nfs_vfsops.c,v 1.65 1998/05/31 17:27:54 peter Exp $ */ #include <sys/param.h> @@ -278,11 +278,12 @@ nfs_statfs(mp, sbp, p) nfsm_request(vp, NFSPROC_FSSTAT, p, cred); if (v3) nfsm_postop_attr(vp, retattr); - if (!error) { - nfsm_dissect(sfp, struct nfs_statfs *, NFSX_STATFS(v3)); - } else + if (error) { + if (mrep != NULL) + m_free(mrep); goto nfsmout; - + } + nfsm_dissect(sfp, struct nfs_statfs *, NFSX_STATFS(v3)); sbp->f_type = MOUNT_NFS; sbp->f_flags = nmp->nm_flag; sbp->f_iosize = nfs_iosize(nmp); |