summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEzra Peisach <epeisach@mit.edu>1997-12-16 16:23:38 +0000
committerEzra Peisach <epeisach@mit.edu>1997-12-16 16:23:38 +0000
commit1077ca5e9e419f96d10c35fd2513974c132d4e06 (patch)
tree2dbb99ac32106c519df7a1888632c66c25610a5f /src
parent77c3d82e4817d74eaf217ffe4addb2dfa1a4a84c (diff)
downloadkrb5-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/ChangeLog5
-rw-r--r--src/lib/rpc/svc_auth_gssapi.c9
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;
}
}