summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/nfs/nfs_syscalls.c9
-rw-r--r--sys/nfsclient/nfs_nfsiod.c9
-rw-r--r--sys/nfsserver/nfs_syscalls.c9
3 files changed, 18 insertions, 9 deletions
diff --git a/sys/nfs/nfs_syscalls.c b/sys/nfs/nfs_syscalls.c
index 054950b..ff2efe5 100644
--- a/sys/nfs/nfs_syscalls.c
+++ b/sys/nfs/nfs_syscalls.c
@@ -334,14 +334,16 @@ nfssvc_addsock(fp, mynam, p)
if (so->so_proto->pr_protocol == IPPROTO_UDP) {
tslp = nfs_udpsock;
if (tslp->ns_flag & SLP_VALID) {
- FREE(mynam, M_SONAME);
+ if (mynam != NULL)
+ FREE(mynam, M_SONAME);
return (EPERM);
}
#ifdef ISO
} else if (so->so_proto->pr_protocol == ISOPROTO_CLTP) {
tslp = nfs_cltpsock;
if (tslp->ns_flag & SLP_VALID) {
- FREE(mynam, M_SONAME);
+ if (mynam != NULL)
+ FREE(mynam, M_SONAME);
return (EPERM);
}
#endif /* ISO */
@@ -352,7 +354,8 @@ nfssvc_addsock(fp, mynam, p)
siz = NFS_MAXPACKET;
error = soreserve(so, siz, siz);
if (error) {
- FREE(mynam, M_SONAME);
+ if (mynam != NULL)
+ FREE(mynam, M_SONAME);
return (error);
}
diff --git a/sys/nfsclient/nfs_nfsiod.c b/sys/nfsclient/nfs_nfsiod.c
index 054950b..ff2efe5 100644
--- a/sys/nfsclient/nfs_nfsiod.c
+++ b/sys/nfsclient/nfs_nfsiod.c
@@ -334,14 +334,16 @@ nfssvc_addsock(fp, mynam, p)
if (so->so_proto->pr_protocol == IPPROTO_UDP) {
tslp = nfs_udpsock;
if (tslp->ns_flag & SLP_VALID) {
- FREE(mynam, M_SONAME);
+ if (mynam != NULL)
+ FREE(mynam, M_SONAME);
return (EPERM);
}
#ifdef ISO
} else if (so->so_proto->pr_protocol == ISOPROTO_CLTP) {
tslp = nfs_cltpsock;
if (tslp->ns_flag & SLP_VALID) {
- FREE(mynam, M_SONAME);
+ if (mynam != NULL)
+ FREE(mynam, M_SONAME);
return (EPERM);
}
#endif /* ISO */
@@ -352,7 +354,8 @@ nfssvc_addsock(fp, mynam, p)
siz = NFS_MAXPACKET;
error = soreserve(so, siz, siz);
if (error) {
- FREE(mynam, M_SONAME);
+ if (mynam != NULL)
+ FREE(mynam, M_SONAME);
return (error);
}
diff --git a/sys/nfsserver/nfs_syscalls.c b/sys/nfsserver/nfs_syscalls.c
index 054950b..ff2efe5 100644
--- a/sys/nfsserver/nfs_syscalls.c
+++ b/sys/nfsserver/nfs_syscalls.c
@@ -334,14 +334,16 @@ nfssvc_addsock(fp, mynam, p)
if (so->so_proto->pr_protocol == IPPROTO_UDP) {
tslp = nfs_udpsock;
if (tslp->ns_flag & SLP_VALID) {
- FREE(mynam, M_SONAME);
+ if (mynam != NULL)
+ FREE(mynam, M_SONAME);
return (EPERM);
}
#ifdef ISO
} else if (so->so_proto->pr_protocol == ISOPROTO_CLTP) {
tslp = nfs_cltpsock;
if (tslp->ns_flag & SLP_VALID) {
- FREE(mynam, M_SONAME);
+ if (mynam != NULL)
+ FREE(mynam, M_SONAME);
return (EPERM);
}
#endif /* ISO */
@@ -352,7 +354,8 @@ nfssvc_addsock(fp, mynam, p)
siz = NFS_MAXPACKET;
error = soreserve(so, siz, siz);
if (error) {
- FREE(mynam, M_SONAME);
+ if (mynam != NULL)
+ FREE(mynam, M_SONAME);
return (error);
}
OpenPOWER on IntegriCloud