(process_pa_data_to_md): add comment that the caller always free
out_md; remove comment about memory, it doesn't happen. (init_cred_loop): free ctx->as_req.padata when its reset (From Wynn Wilkes <wwilkes@vintela.com>), move a comment close the the code git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15178 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1057,6 +1057,10 @@ pa_data_add_pac_request(krb5_context context,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Assumes caller always will free `out_md', even on error.
|
||||||
|
*/
|
||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
process_pa_data_to_md(krb5_context context,
|
process_pa_data_to_md(krb5_context context,
|
||||||
const krb5_creds *creds,
|
const krb5_creds *creds,
|
||||||
@@ -1093,7 +1097,7 @@ process_pa_data_to_md(krb5_context context,
|
|||||||
pa_data_add_pac_request(context, ctx, *out_md);
|
pa_data_add_pac_request(context, ctx, *out_md);
|
||||||
ret = pa_data_to_md_pkinit(context, a, creds->client, ctx, *out_md);
|
ret = pa_data_to_md_pkinit(context, a, creds->client, ctx, *out_md);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret; /* XXX memory leak */
|
return ret;
|
||||||
|
|
||||||
if ((*out_md)->len == 0) {
|
if ((*out_md)->len == 0) {
|
||||||
free(*out_md);
|
free(*out_md);
|
||||||
@@ -1201,17 +1205,16 @@ init_cred_loop(krb5_context context,
|
|||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
/*
|
|
||||||
* Increase counter when we want other pre-auth types then
|
|
||||||
* KRB5_PA_ENC_TIMESTAMP.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Set a new nonce. */
|
/* Set a new nonce. */
|
||||||
krb5_generate_random_block (&ctx->nonce, sizeof(ctx->nonce));
|
krb5_generate_random_block (&ctx->nonce, sizeof(ctx->nonce));
|
||||||
ctx->nonce &= 0xffffffff;
|
ctx->nonce &= 0xffffffff;
|
||||||
/* XXX these just needs to be the same when using Windows PK-INIT */
|
/* XXX these just needs to be the same when using Windows PK-INIT */
|
||||||
ctx->pk_nonce = ctx->nonce;
|
ctx->pk_nonce = ctx->nonce;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Increase counter when we want other pre-auth types then
|
||||||
|
* KRB5_PA_ENC_TIMESTAMP.
|
||||||
|
*/
|
||||||
#define MAX_PA_COUNTER 3
|
#define MAX_PA_COUNTER 3
|
||||||
|
|
||||||
ctx->pa_counter = 0;
|
ctx->pa_counter = 0;
|
||||||
@@ -1222,6 +1225,7 @@ init_cred_loop(krb5_context context,
|
|||||||
|
|
||||||
if (ctx->as_req.padata) {
|
if (ctx->as_req.padata) {
|
||||||
free_METHOD_DATA(ctx->as_req.padata);
|
free_METHOD_DATA(ctx->as_req.padata);
|
||||||
|
free(ctx->as_req.padata);
|
||||||
ctx->as_req.padata = NULL;
|
ctx->as_req.padata = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user