summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2010-12-28 18:27:17 +0000
committerGreg Hudson <ghudson@mit.edu>2010-12-28 18:27:17 +0000
commit55d479539cf47eb594bbdf31e8c351f74b060cf6 (patch)
tree41e1e2b2f107cc833e21c70e96472b4ebbba7f79 /src
parent4e8010a1030e17110776848530070ac587d650fc (diff)
downloadkrb5-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.c6
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 */