diff options
author | Greg Hudson <ghudson@mit.edu> | 2012-08-11 00:16:25 -0400 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2012-08-11 00:28:33 -0400 |
commit | 1870feda057e24826f505eb5f3151aad3041ab1e (patch) | |
tree | b1b0368ccaf818979d541a56e711572c66ac5c25 /src/lib/rpc/authgss_prot.c | |
parent | b0edf38aafe3a365821cae4874e4608f95e28896 (diff) | |
download | krb5-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.c | 4 |
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 || |