diff options
author | Greg Hudson <ghudson@mit.edu> | 2010-12-28 18:27:17 +0000 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2010-12-28 18:27:17 +0000 |
commit | 55d479539cf47eb594bbdf31e8c351f74b060cf6 (patch) | |
tree | 41e1e2b2f107cc833e21c70e96472b4ebbba7f79 /src | |
parent | 4e8010a1030e17110776848530070ac587d650fc (diff) | |
download | krb5-55d479539cf47eb594bbdf31e8c351f74b060cf6.tar.gz krb5-55d479539cf47eb594bbdf31e8c351f74b060cf6.tar.xz krb5-55d479539cf47eb594bbdf31e8c351f74b060cf6.zip |
Don't attempt to serialize a NULL authdata context when serializing a
GSSAPI context (most often seen with initiator contexts). Patch from
aberry@likewise.com.
ticket: 6675
target_version: 1.9.1
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24590 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/gssapi/krb5/ser_sctx.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/gssapi/krb5/ser_sctx.c b/src/lib/gssapi/krb5/ser_sctx.c index 63a7bd82a..ae6350cce 100644 --- a/src/lib/gssapi/krb5/ser_sctx.c +++ b/src/lib/gssapi/krb5/ser_sctx.c @@ -357,7 +357,7 @@ kg_ctx_size(kcontext, arg, sizep) initiator_name = ctx->initiate ? ctx->here : ctx->there; - if (initiator_name) { + if (initiator_name && initiator_name->ad_context) { kret = krb5_size_opaque(kcontext, KV5M_AUTHDATA_CONTEXT, initiator_name->ad_context, @@ -534,7 +534,7 @@ kg_ctx_externalize(kcontext, arg, buffer, lenremain) initiator_name = ctx->initiate ? ctx->here : ctx->there; - if (initiator_name) { + if (initiator_name && initiator_name->ad_context) { kret = krb5_externalize_opaque(kcontext, KV5M_AUTHDATA_CONTEXT, initiator_name->ad_context, @@ -775,6 +775,8 @@ kg_ctx_internalize(kcontext, argp, buffer, lenremain) (krb5_pointer *)&initiator_name->ad_context, &bp, &remain); + if (kret == EINVAL) + kret = 0; } } /* Get trailer */ |