summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/rpc
diff options
context:
space:
mode:
authorSebastien Roy <seb@delphix.com>2013-05-21 15:31:47 -0800
committerChristopher Siden <chris.siden@delphix.com>2013-05-21 16:31:47 -0700
commite36d7b1181d9f0bc91b073751e5602af8e92c0ab (patch)
tree8b7d7c66a5c6cab5a01a1a06c52d86793ec209c4 /usr/src/uts/common/rpc
parent982e63f0dc541ca7cc5d69cf6504d5218a48434d (diff)
downloadillumos-joyent-e36d7b1181d9f0bc91b073751e5602af8e92c0ab.tar.gz
3630 NFS server should not allocate oversized buffers
Reviewed by: Jeff Biseda <jeff.biseda@delphix.com> Reviewed by: Eric Schrock <Eric.Schrock@delphix.com> Reviewed by: Gordon Ross <gordon.ross@nexenta.com> Reviewed by: Garrett D'Amore <garrett@damore.org> Reviewed by: Marcel Telka <marcel.telka@nexenta.com> Approved by: Albert Lee <trisk@nexenta.com>
Diffstat (limited to 'usr/src/uts/common/rpc')
-rw-r--r--usr/src/uts/common/rpc/sec_gss/rpcsec_gss_misc.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/usr/src/uts/common/rpc/sec_gss/rpcsec_gss_misc.c b/usr/src/uts/common/rpc/sec_gss/rpcsec_gss_misc.c
index c486a3b9df..4e23daca68 100644
--- a/usr/src/uts/common/rpc/sec_gss/rpcsec_gss_misc.c
+++ b/usr/src/uts/common/rpc/sec_gss/rpcsec_gss_misc.c
@@ -24,8 +24,6 @@
* All rights reserved. Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
/*
* Copyright 1993 OpenVision Technologies, Inc., All Rights Reserved.
*
@@ -34,6 +32,10 @@
* 1994/10/27 12:39:23 jik Exp $
*/
+/*
+ * Copyright (c) 2013 by Delphix. All rights reserved.
+ */
+
#include <sys/param.h>
#include <sys/types.h>
#include <sys/stream.h>
@@ -142,7 +144,7 @@ __rpc_gss_wrap_data(service, qop, context, seq_num, out_xdrs,
OM_uint32 major, minor;
gss_buffer_desc in_buf, out_buf;
XDR temp_xdrs;
- char *mp;
+ char *temp_data;
/* EXPORT DELETE START */
bool_t conf_state;
/* EXPORT DELETE END */
@@ -154,10 +156,10 @@ __rpc_gss_wrap_data(service, qop, context, seq_num, out_xdrs,
* We need an extra bit for the sequence number serialized first.
*/
size = xdr_sizeof(xdr_func, xdr_ptr) + BYTES_PER_XDR_UNIT;
- mp = kmem_alloc(size, KM_SLEEP);
+ temp_data = kmem_alloc(size, KM_SLEEP);
out_buf.length = 0;
- xdrmem_create(&temp_xdrs, mp, size, XDR_ENCODE);
+ xdrmem_create(&temp_xdrs, temp_data, size, XDR_ENCODE);
/*
* serialize the sequence number into tmp memory
@@ -221,7 +223,7 @@ __rpc_gss_wrap_data(service, qop, context, seq_num, out_xdrs,
goto fail;
ret = TRUE;
fail:
- kmem_free(mp, size);
+ kmem_free(temp_data, size);
if (out_buf.length != 0)
(void) gss_release_buffer(&minor, &out_buf);
return (ret);