i = 0;
if (i != 0) {
- sign_authdata = k5alloc((i + 1) * sizeof(krb5_authdata *), &code);
+ sign_authdata = k5calloc(i + 1, sizeof(krb5_authdata *), &code);
if (sign_authdata == NULL)
return code;
} else
i = 0;
- sp.delegated = k5alloc((i + (server ? 1 : 0) + 1) *
- sizeof(krb5_principal), &code);
+ sp.delegated = k5calloc(i + (server ? 1 : 0) + 1, sizeof(krb5_principal),
+ &code);
if (code != 0)
goto cleanup;
int i = 0, start = 0, seen_des = 0;
int etype_info2 = (pa_type == KRB5_PADATA_ETYPE_INFO2);
- entry = k5alloc((client->n_key_data * 2 + 1) * sizeof(*entry), &retval);
+ entry = k5calloc(client->n_key_data * 2 + 1, sizeof(*entry), &retval);
if (entry == NULL)
goto cleanup;
entry[0] = NULL;
ihash = k5alloc(hash->hashsize, &ret);
if (ihash == NULL)
goto cleanup;
- ihash_iov = k5alloc((num_data + 1) * sizeof(krb5_crypto_iov), &ret);
+ ihash_iov = k5calloc(num_data + 1, sizeof(krb5_crypto_iov), &ret);
if (ihash_iov == NULL)
goto cleanup;
if (keybytes % prflen != 0)
iterations++;
assert(iterations <= 254);
- buffer = k5alloc(iterations * prflen, &retval);
+ buffer = k5calloc(iterations, prflen, &retval);
if (retval)
goto cleanup;
if (k5_buf_len(&prf_inbuf) == -1) {
return ret;
/* Hash the confounder, then the input data. */
- hash_iov = k5alloc((num_data + 1) * sizeof(krb5_crypto_iov), &ret);
+ hash_iov = k5calloc(num_data + 1, sizeof(krb5_crypto_iov), &ret);
if (hash_iov == NULL)
goto cleanup;
hash_iov[0].flags = KRB5_CRYPTO_TYPE_DATA;
goto cleanup;
/* Hash the confounder, then the input data. */
- hash_iov = k5alloc((num_data + 1) * sizeof(krb5_crypto_iov), &ret);
+ hash_iov = k5calloc(num_data + 1, sizeof(krb5_crypto_iov), &ret);
if (hash_iov == NULL)
goto cleanup;
hash_iov[0].flags = KRB5_CRYPTO_TYPE_DATA;
/* Compute the MD5 value of the input. */
ms_usage = krb5int_arcfour_translate_usage(usage);
store_32_le(ms_usage, t);
- hash_iov = k5alloc((num_data + 1) * sizeof(krb5_crypto_iov), &ret);
+ hash_iov = k5calloc(num_data + 1, sizeof(krb5_crypto_iov), &ret);
if (hash_iov == NULL)
goto cleanup;
hash_iov[0].flags = KRB5_CRYPTO_TYPE_DATA;
rnd = k5alloc(keybytes, &ret);
if (ret)
goto cleanup;
- combined = k5alloc(keybytes * 2, &ret);
+ combined = k5calloc(2, keybytes, &ret);
if (ret)
goto cleanup;
output = k5alloc(keylength, &ret);
/* Allocate a large enough list of handles. */
for (count = 0; modules[count] != NULL; count++);
- list = k5alloc((count + 1) * sizeof(*list), &ret);
+ list = k5calloc(count + 1, sizeof(*list), &ret);
if (list == NULL)
goto cleanup;
/* Allocate a large enough list of handles. */
for (count = 0; modules[count] != NULL; count++);
- list = k5alloc((count + 1) * sizeof(*list), &ret);
+ list = k5calloc(count + 1, sizeof(*list), &ret);
if (list == NULL)
goto cleanup;
if (ret)
goto done;
- kblist = k5alloc((kdb->n_key_data + 1) * sizeof(*kblist), &ret);
+ kblist = k5calloc(kdb->n_key_data + 1, sizeof(*kblist), &ret);
if (kblist == NULL)
goto done;
for (i = 0; i < kdb->n_key_data; i++) {
/* Allocate a large enough list of handles. */
for (count = 0; modules[count] != NULL; count++);
- list = k5alloc((count + 1) * sizeof(*list), &ret);
+ list = k5calloc(count + 1, sizeof(*list), &ret);
if (list == NULL)
goto cleanup;
if (ret)
goto cleanup;
- pa = k5alloc(2 * sizeof(krb5_pa_data *), &ret);
+ pa = k5calloc(2, sizeof(krb5_pa_data *), &ret);
if (pa == NULL)
goto cleanup;
memset(&sp, 0, sizeof(sp));
sp.delegated = s4uctx->delegated;
- authdata = k5alloc(2 * sizeof(krb5_authdata *), &code);
+ authdata = k5calloc(2, sizeof(krb5_authdata *), &code);
if (authdata == NULL)
return code;
if (s4uctx->count == 0)
return ENOENT;
- attrs = k5alloc(2 * sizeof(krb5_data), &code);
+ attrs = k5calloc(2, sizeof(krb5_data), &code);
if (attrs == NULL)
goto cleanup;
if (restrict_authenticated)
return ENOENT;
- delegated = k5alloc((s4uctx->count + 1) * sizeof(krb5_principal), &code);
+ delegated = k5calloc(s4uctx->count + 1, sizeof(krb5_principal), &code);
if (delegated == NULL)
return code;
else if (count > 0) {
int i;
- delegated = k5alloc((count + 1) * sizeof(krb5_principal), &code);
+ delegated = k5calloc(count + 1, sizeof(krb5_principal), &code);
if (delegated == NULL)
goto cleanup;
for (count = 0; in_padata != NULL && in_padata[count] != NULL; count++);
/* Construct a padata array for the request, beginning with the ap-req. */
- padata = k5alloc((count + 2) * sizeof(krb5_pa_data *), &ret);
+ padata = k5calloc(count + 2, sizeof(krb5_pa_data *), &ret);
if (padata == NULL)
goto cleanup;
padata[0] = k5alloc(sizeof(krb5_pa_data), &ret);
/* Get extra tokens. */
if (nargs > 0) {
- extra_tokens = k5alloc((nargs + 1) * sizeof(char *), &ret);
+ extra_tokens = k5calloc(nargs + 1, sizeof(char *), &ret);
if (extra_tokens == NULL)
goto cleanup;
va_start(ap, path_out);
/* Allocate a large enough list of handles. */
for (count = 0; modules[count] != NULL; count++);
- list = k5alloc((count + 1) * sizeof(*list), &ret);
+ list = k5calloc(count + 1, sizeof(*list), &ret);
if (list == NULL)
goto cleanup;
return code;
hprinc->name.name_type = kprinc->type;
- hprinc->name.name_string.val = k5alloc(kprinc->length *
- sizeof(heim_general_string),
- &code);
+ hprinc->name.name_string.val = k5calloc(kprinc->length,
+ sizeof(heim_general_string),
+ &code);
if (code != 0) {
kh_free_Principal(context, hprinc);
return code;
kprinc->magic = KV5M_PRINCIPAL;
kprinc->type = hprinc->name.name_type;
- kprinc->data = k5alloc(hprinc->name.name_string.len * sizeof(krb5_data),
- &code);
+ kprinc->data = k5calloc(hprinc->name.name_string.len, sizeof(krb5_data),
+ &code);
if (code != 0) {
krb5_free_principal(context, kprinc);
return code;
unsigned int i;
krb5_error_code code;
- hexts->val = k5alloc(kh_hdb_extension_count * sizeof(HDB_extension), &code);
+ hexts->val = k5calloc(kh_hdb_extension_count, sizeof(HDB_extension),
+ &code);
if (code != 0)
return code;
goto cleanup;
hentry->keys.len = 0;
- hentry->keys.val = k5alloc(kentry->n_key_data * sizeof(Key), &code);
+ hentry->keys.val = k5calloc(kentry->n_key_data, sizeof(Key), &code);
if (code != 0)
goto cleanup;
if (code != 0)
goto cleanup;
- kentry->key_data = k5alloc(hentry->keys.len * sizeof(krb5_key_data), &code);
+ kentry->key_data = k5calloc(hentry->keys.len, sizeof(krb5_key_data),
+ &code);
if (code != 0)
goto cleanup;
goto cleanup;
if (authdata == NULL) {
- authdata = k5alloc(2 * sizeof(krb5_authdata *), &code);
+ authdata = k5calloc(2, sizeof(krb5_authdata *), &code);
if (code != 0)
goto cleanup;
return code;
haddresses->len = 0;
- haddresses->val = k5alloc(i * sizeof(HostAddress), &code);
+ haddresses->val = k5calloc(i, sizeof(HostAddress), &code);
if (code != 0)
return code;
}
/* Leave space for the default (possibly) and the terminator. */
- types = k5alloc((i + 2) * sizeof(token_type), &retval);
+ types = k5calloc(i + 2, sizeof(token_type), &retval);
if (types == NULL)
goto cleanup;
return retval;
len = k5_json_array_length(arr);
- tokens = k5alloc((len + 1) * sizeof(token), &retval);
+ tokens = k5calloc(len + 1, sizeof(token), &retval);
if (tokens == NULL)
goto cleanup;