Memory leak in spnego accept_sec_context error path
authorGreg Hudson <ghudson@mit.edu>
Thu, 27 Aug 2009 13:40:50 +0000 (13:40 +0000)
committerGreg Hudson <ghudson@mit.edu>
Thu, 27 Aug 2009 13:40:50 +0000 (13:40 +0000)
commitbb571c5754e838acd15cf8cd2eba535accbc7820
tree04c999a747b191513f7e725f5c9f11e19c9760a7
parent395e186d35cbc9cf86fae56e820c46186d305838
Memory leak in spnego accept_sec_context error path

If the underlying mechanism's accept_sec_context returns an error, the
spnego accept_sec_context was leaving allocated data in
*context_handle, which is incorrect for the first call according to
RFC 2744.

Fix this by mirroring some code from the spnego init_sec_context,
which always cleans up the half-constructed context in case of error.
This is allowed (though not encouraged) by RFC 2744 for second and
subsequent calls; since we were already doing it in init_sec_context,
it seems simpler to do that than keep track of whether this is a first
call or not.

ticket: 6551
tags: pullup
target_version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22636 dc483132-0cff-0310-8789-dd5450dbe970
src/lib/gssapi/spnego/spnego_mech.c