summaryrefslogtreecommitdiffstats
path: root/src/kdc
diff options
context:
space:
mode:
Diffstat (limited to 'src/kdc')
-rw-r--r--src/kdc/fast_util.c11
-rw-r--r--src/kdc/kdc_preauth.c4
2 files changed, 5 insertions, 10 deletions
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;