diff options
| author | Theodore Tso <tytso@mit.edu> | 1997-07-16 02:06:22 +0000 |
|---|---|---|
| committer | Theodore Tso <tytso@mit.edu> | 1997-07-16 02:06:22 +0000 |
| commit | a196a36dce9fc571c747e20a90f350822aeb49be (patch) | |
| tree | 53b82eda2dc3b43716c346accf409782b7d941e7 /src | |
| parent | c76c067028376e5211c617392f01efc108e93985 (diff) | |
| download | krb5-a196a36dce9fc571c747e20a90f350822aeb49be.tar.gz krb5-a196a36dce9fc571c747e20a90f350822aeb49be.tar.xz krb5-a196a36dce9fc571c747e20a90f350822aeb49be.zip | |
Always copy the mechtype so that delete_sec_context() can safely
release the OID without smashing memory passed in by the application.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10117 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/gssapi/krb5/ChangeLog | 6 | ||||
| -rw-r--r-- | src/lib/gssapi/krb5/init_sec_context.c | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/lib/gssapi/krb5/ChangeLog b/src/lib/gssapi/krb5/ChangeLog index 0c65bf13b..350515897 100644 --- a/src/lib/gssapi/krb5/ChangeLog +++ b/src/lib/gssapi/krb5/ChangeLog @@ -1,3 +1,9 @@ +Tue Jul 15 22:05:21 1997 Theodore Y. Ts'o <tytso@mit.edu> + + * init_sec_context.c (krb5_gss_init_sec_context): Always copy the + mechtype so that delete_sec_context() can safely release + the OID without smashing memory passed in by the application. + Mon Jun 30 14:05:51 1997 Kevin L Mitchell <klmitch@mit.edu> * accept_sec_context.c: added code to return a valid delegated diff --git a/src/lib/gssapi/krb5/init_sec_context.c b/src/lib/gssapi/krb5/init_sec_context.c index ac6ffa232..b3992bd7d 100644 --- a/src/lib/gssapi/krb5/init_sec_context.c +++ b/src/lib/gssapi/krb5/init_sec_context.c @@ -324,7 +324,11 @@ krb5_gss_init_sec_context(minor_status, claimant_cred_handle, /* fill in the ctx */ memset(ctx, 0, sizeof(krb5_gss_ctx_id_rec)); - ctx->mech_used = mech_type; + if (generic_gss_copy_oid(minor_status, mech_type, &ctx->mech_used) + != GSS_S_COMPLETE) { + free(ctx); + return (GSS_S_FAILURE); + } ctx->auth_context = NULL; ctx->initiate = 1; ctx->gss_flags = KG_IMPLFLAGS(req_flags); |
