summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient/nfs_vfsops.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1998-05-31 18:19:43 +0000
committerpeter <peter@FreeBSD.org>1998-05-31 18:19:43 +0000
commitc50a18d36198ccf7c910eaa7d796f37ec0b7301d (patch)
tree86ac96e9c4cdc35928f1af90147fd91168c1d9b7 /sys/nfsclient/nfs_vfsops.c
parent66a3e6b96c8976dd313815b455b57ab36f640b0c (diff)
downloadFreeBSD-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.c11
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);
OpenPOWER on IntegriCloud