summaryrefslogtreecommitdiffstats
path: root/sys/rpc
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2009-06-13 23:16:40 +0000
committerrmacklem <rmacklem@FreeBSD.org>2009-06-13 23:16:40 +0000
commit8ad39414af52b7ed7c1c6fd8ff9f9fd4112f81eb (patch)
tree628f8e705ca2c34dcb7b7660f8895c4fd66a12ab /sys/rpc
parent911d9e9abc54d62dd3c2d6df06c6809cedf68113 (diff)
downloadFreeBSD-src-8ad39414af52b7ed7c1c6fd8ff9f9fd4112f81eb.zip
FreeBSD-src-8ad39414af52b7ed7c1c6fd8ff9f9fd4112f81eb.tar.gz
When a Solaris10 client does an NFS mount using krb5i or krb5p, the
server would crash because the Solaris10 client would attempt to use Sun's NFSACL protocol, which FreeBSD doesn't support. When the server generated the error reply via svcerr_noprog(), it would cause a crash because it would try and wrap a NULL reply. According to RFC2203, no wrapping is required for error cases. This one line change avoids wrapping of NULL replies. Reviewed by: dfr Approved by: kib (mentor)
Diffstat (limited to 'sys/rpc')
-rw-r--r--sys/rpc/rpcsec_gss/svc_rpcsec_gss.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c
index e2469fd..eb9314b 100644
--- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c
+++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c
@@ -1442,7 +1442,7 @@ svc_rpc_gss_wrap(SVCAUTH *auth, struct mbuf **mp)
cc = (struct svc_rpc_gss_cookedcred *) auth->svc_ah_private;
client = cc->cc_client;
if (client->cl_state != CLIENT_ESTABLISHED
- || cc->cc_service == rpc_gss_svc_none) {
+ || cc->cc_service == rpc_gss_svc_none || *mp == NULL) {
return (TRUE);
}
OpenPOWER on IntegriCloud