diff options
| author | Ezra Peisach <epeisach@mit.edu> | 1997-12-16 16:23:38 +0000 |
|---|---|---|
| committer | Ezra Peisach <epeisach@mit.edu> | 1997-12-16 16:23:38 +0000 |
| commit | 1077ca5e9e419f96d10c35fd2513974c132d4e06 (patch) | |
| tree | 2dbb99ac32106c519df7a1888632c66c25610a5f /src | |
| parent | 77c3d82e4817d74eaf217ffe4addb2dfa1a4a84c (diff) | |
| download | krb5-1077ca5e9e419f96d10c35fd2513974c132d4e06.tar.gz krb5-1077ca5e9e419f96d10c35fd2513974c132d4e06.tar.xz krb5-1077ca5e9e419f96d10c35fd2513974c132d4e06.zip | |
* svc_auth_gssapi.c (_svcauth_gssapi): When looping over services,
free previous output_tokens.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10339 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/rpc/ChangeLog | 5 | ||||
| -rw-r--r-- | src/lib/rpc/svc_auth_gssapi.c | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/rpc/ChangeLog b/src/lib/rpc/ChangeLog index 43920b96c8..7800ccb9d0 100644 --- a/src/lib/rpc/ChangeLog +++ b/src/lib/rpc/ChangeLog @@ -1,3 +1,8 @@ +Tue Dec 16 11:22:13 1997 Ezra Peisach <epeisach@mit.edu> + + * svc_auth_gssapi.c (_svcauth_gssapi): When looping over services, + free previous output_tokens. + Fri Nov 21 00:37:14 1997 Ezra Peisach <epeisach@mit.edu> * Makefile.in (types.h): Add rules to generate file by running diff --git a/src/lib/rpc/svc_auth_gssapi.c b/src/lib/rpc/svc_auth_gssapi.c index d69a43ecb4..1f18c8ff2a 100644 --- a/src/lib/rpc/svc_auth_gssapi.c +++ b/src/lib/rpc/svc_auth_gssapi.c @@ -5,6 +5,10 @@ * $Source$ * * $Log$ + * Revision 1.44 1997/12/16 16:23:38 epeisach + * * svc_auth_gssapi.c (_svcauth_gssapi): When looping over services, + * free previous output_tokens. + * * Revision 1.43 1997/10/21 18:33:55 epeisach * Fix to not lose entries in the chain linked client list. * @@ -568,6 +572,9 @@ enum auth_stat _svcauth_gssapi(rqst, msg, no_dispatch) server_creds = server_creds_list[i]; } + /* Free previous output_token from loop */ + if(i != 0) gss_release_buffer(&minor_stat, &output_token); + call_res.gss_major = gss_accept_sec_context(&call_res.gss_minor, &client_data->context, @@ -627,6 +634,7 @@ enum auth_stat _svcauth_gssapi(rqst, msg, no_dispatch) &rqst->rq_xprt->xp_raddr, log_badauth_data); + gss_release_buffer(&minor_stat, &output_token); svc_sendreply(rqst->rq_xprt, xdr_authgssapi_init_res, (caddr_t) &call_res); *no_dispatch = TRUE; @@ -654,6 +662,7 @@ enum auth_stat _svcauth_gssapi(rqst, msg, no_dispatch) FALSE) { ret = AUTH_FAILED; LOG_MISCERR("internal error sealing sequence number"); + gss_release_buffer(&minor_stat, &output_token); goto error; } } |
