From 7905cd6a2eddbf264242bb2a85f811878b2da7ab Mon Sep 17 00:00:00 2001 From: Greg Hudson Date: Sat, 9 Feb 2013 00:43:35 -0500 Subject: Add and use k5memdup, k5memdup0 helpers Add k5-int.h static functions to duplicate byte ranges, optionally with a trailing zero byte, and set an error code like k5alloc does. Use them where they would shorten existing code. --- src/kdc/fast_util.c | 11 ++++------- src/kdc/kdc_preauth.c | 4 +--- 2 files changed, 5 insertions(+), 10 deletions(-) (limited to 'src/kdc') diff --git a/src/kdc/fast_util.c b/src/kdc/fast_util.c index 1dd5f3ebf3..40c5783035 100644 --- a/src/kdc/fast_util.c +++ b/src/kdc/fast_util.c @@ -256,15 +256,12 @@ kdc_find_fast(krb5_kdc_req **requestptr, } else { new_padata->pa_type = KRB5_PADATA_FX_COOKIE; new_padata->length = cookie_padata->length; - new_padata->contents = malloc(new_padata->length); - if (new_padata->contents == NULL) { - retval = ENOMEM; + new_padata->contents = + k5memdup(cookie_padata->contents, new_padata->length, &retval); + if (new_padata->contents == NULL) free(new_padata); - } else { - memcpy(new_padata->contents, cookie_padata->contents, - new_padata->length); + else state->cookie = new_padata; - } } } if (retval == 0 && inner_body_out != NULL) { diff --git a/src/kdc/kdc_preauth.c b/src/kdc/kdc_preauth.c index 848d0bdccc..c2bcab9f3b 100644 --- a/src/kdc/kdc_preauth.c +++ b/src/kdc/kdc_preauth.c @@ -1586,12 +1586,10 @@ return_pw_salt(krb5_context context, krb5_pa_data *in_padata, padata->magic = KV5M_PA_DATA; if (salttype == KRB5_KDB_SALTTYPE_AFS3) { - padata->contents = k5alloc(salt->length + 1, &retval); + padata->contents = k5memdup0(salt->data, salt->length, &retval); if (padata->contents == NULL) goto cleanup; - memcpy(padata->contents, salt->data, salt->length); padata->pa_type = KRB5_PADATA_AFS3_SALT; - padata->contents[salt->length] = '\0'; padata->length = salt->length + 1; } else { padata->pa_type = KRB5_PADATA_PW_SALT; -- cgit