summaryrefslogtreecommitdiffstats
path: root/src/lib/rpc/authgss_prot.c
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2012-08-11 00:16:25 -0400
committerGreg Hudson <ghudson@mit.edu>2012-08-11 00:28:33 -0400
commit1870feda057e24826f505eb5f3151aad3041ab1e (patch)
treeb1b0368ccaf818979d541a56e711572c66ac5c25 /src/lib/rpc/authgss_prot.c
parentb0edf38aafe3a365821cae4874e4608f95e28896 (diff)
downloadkrb5-1870feda057e24826f505eb5f3151aad3041ab1e.tar.gz
krb5-1870feda057e24826f505eb5f3151aad3041ab1e.tar.xz
krb5-1870feda057e24826f505eb5f3151aad3041ab1e.zip
Stop misusing gss_release_buffer in libgssrpc
Use free() instead of gss_release_buffer() when freeing buffers in libgssrpc which weren't constructed by GSSAPI. This mixing is harmless in normal configurations (since libgssrpc is only used on Unix), but fails with DEBUG_GSSALLOC.
Diffstat (limited to 'src/lib/rpc/authgss_prot.c')
-rw-r--r--src/lib/rpc/authgss_prot.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/rpc/authgss_prot.c b/src/lib/rpc/authgss_prot.c
index 01f16ea55d..a5a587f905 100644
--- a/src/lib/rpc/authgss_prot.c
+++ b/src/lib/rpc/authgss_prot.c
@@ -212,7 +212,7 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
/* Verify checksum and QOP. */
maj_stat = gss_verify_mic(&min_stat, ctx, &databuf,
&wrapbuf, &qop_state);
- gss_release_buffer(&min_stat, &wrapbuf);
+ free(wrapbuf.value);
if (maj_stat != GSS_S_COMPLETE || qop_state != qop) {
gss_release_buffer(&min_stat, &databuf);
@@ -230,7 +230,7 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
maj_stat = gss_unwrap(&min_stat, ctx, &wrapbuf, &databuf,
&conf_state, &qop_state);
- gss_release_buffer(&min_stat, &wrapbuf);
+ free(wrapbuf.value);
/* Verify encryption and QOP. */
if (maj_stat != GSS_S_COMPLETE || qop_state != qop ||