summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/nfs/nfs_common.h7
-rw-r--r--sys/nfs/nfs_vfsops.c11
-rw-r--r--sys/nfs/nfsm_subs.h7
-rw-r--r--sys/nfsclient/nfs_vfsops.c11
-rw-r--r--sys/nfsclient/nfsm_subs.h7
-rw-r--r--sys/nfsserver/nfsm_subs.h7
6 files changed, 32 insertions, 18 deletions
diff --git a/sys/nfs/nfs_common.h b/sys/nfs/nfs_common.h
index d6bdc63..efba82b 100644
--- a/sys/nfs/nfs_common.h
+++ b/sys/nfs/nfs_common.h
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfsm_subs.h 8.2 (Berkeley) 3/30/95
- * $Id: nfsm_subs.h,v 1.17 1998/05/31 17:27:57 peter Exp $
+ * $Id: nfsm_subs.h,v 1.18 1998/05/31 17:48:07 peter Exp $
*/
@@ -337,7 +337,10 @@ struct mbuf *nfsm_rpchead __P((struct ucred *cr, int nmflag, int procid,
else \
(void) nfs_rephead((s), nfsd, slp, error, cache, &frev, \
mrq, &mb, &bpos); \
- m_freem(mrep); \
+ if (mrep != NULL) { \
+ m_freem(mrep); \
+ mrep = NULL; \
+ } \
mreq = *mrq; \
if (error && (!(nfsd->nd_flag & ND_NFSV3) || \
error == EBADRPC)) \
diff --git a/sys/nfs/nfs_vfsops.c b/sys/nfs/nfs_vfsops.c
index 83dc7645..bbfa4d1 100644
--- a/sys/nfs/nfs_vfsops.c
+++ b/sys/nfs/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);
diff --git a/sys/nfs/nfsm_subs.h b/sys/nfs/nfsm_subs.h
index d6bdc63..efba82b 100644
--- a/sys/nfs/nfsm_subs.h
+++ b/sys/nfs/nfsm_subs.h
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfsm_subs.h 8.2 (Berkeley) 3/30/95
- * $Id: nfsm_subs.h,v 1.17 1998/05/31 17:27:57 peter Exp $
+ * $Id: nfsm_subs.h,v 1.18 1998/05/31 17:48:07 peter Exp $
*/
@@ -337,7 +337,10 @@ struct mbuf *nfsm_rpchead __P((struct ucred *cr, int nmflag, int procid,
else \
(void) nfs_rephead((s), nfsd, slp, error, cache, &frev, \
mrq, &mb, &bpos); \
- m_freem(mrep); \
+ if (mrep != NULL) { \
+ m_freem(mrep); \
+ mrep = NULL; \
+ } \
mreq = *mrq; \
if (error && (!(nfsd->nd_flag & ND_NFSV3) || \
error == EBADRPC)) \
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);
diff --git a/sys/nfsclient/nfsm_subs.h b/sys/nfsclient/nfsm_subs.h
index d6bdc63..efba82b 100644
--- a/sys/nfsclient/nfsm_subs.h
+++ b/sys/nfsclient/nfsm_subs.h
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfsm_subs.h 8.2 (Berkeley) 3/30/95
- * $Id: nfsm_subs.h,v 1.17 1998/05/31 17:27:57 peter Exp $
+ * $Id: nfsm_subs.h,v 1.18 1998/05/31 17:48:07 peter Exp $
*/
@@ -337,7 +337,10 @@ struct mbuf *nfsm_rpchead __P((struct ucred *cr, int nmflag, int procid,
else \
(void) nfs_rephead((s), nfsd, slp, error, cache, &frev, \
mrq, &mb, &bpos); \
- m_freem(mrep); \
+ if (mrep != NULL) { \
+ m_freem(mrep); \
+ mrep = NULL; \
+ } \
mreq = *mrq; \
if (error && (!(nfsd->nd_flag & ND_NFSV3) || \
error == EBADRPC)) \
diff --git a/sys/nfsserver/nfsm_subs.h b/sys/nfsserver/nfsm_subs.h
index d6bdc63..efba82b 100644
--- a/sys/nfsserver/nfsm_subs.h
+++ b/sys/nfsserver/nfsm_subs.h
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfsm_subs.h 8.2 (Berkeley) 3/30/95
- * $Id: nfsm_subs.h,v 1.17 1998/05/31 17:27:57 peter Exp $
+ * $Id: nfsm_subs.h,v 1.18 1998/05/31 17:48:07 peter Exp $
*/
@@ -337,7 +337,10 @@ struct mbuf *nfsm_rpchead __P((struct ucred *cr, int nmflag, int procid,
else \
(void) nfs_rephead((s), nfsd, slp, error, cache, &frev, \
mrq, &mb, &bpos); \
- m_freem(mrep); \
+ if (mrep != NULL) { \
+ m_freem(mrep); \
+ mrep = NULL; \
+ } \
mreq = *mrq; \
if (error && (!(nfsd->nd_flag & ND_NFSV3) || \
error == EBADRPC)) \
OpenPOWER on IntegriCloud