goto cleanup;
}
- pcerts = gnutls_malloc(sizeof(gnutls_pcert_st) * count);
+ pcerts = _gnutls_reallocarray(NULL, count, sizeof(gnutls_pcert_st));
if (pcerts == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
_gnutls_str_array_init(&names);
- ccert = gnutls_malloc(sizeof(*ccert)*MAX_PKCS11_CERT_CHAIN);
+ ccert = _gnutls_reallocarray(NULL, MAX_PKCS11_CERT_CHAIN,
+ sizeof(*ccert));
if (ccert == NULL) {
gnutls_assert();
ret = GNUTLS_E_MEMORY_ERROR;
}
/* load certificates */
- pcerts = gnutls_malloc(sizeof(gnutls_pcert_st) * cert_list_size);
+ pcerts = _gnutls_reallocarray(NULL, cert_list_size,
+ sizeof(gnutls_pcert_st));
if (pcerts == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
}
*crt_list_size = res->certs[index].cert_list_length;
- *crt_list = gnutls_malloc(
- res->certs[index].cert_list_length * sizeof (gnutls_x509_crt_t));
+ *crt_list = _gnutls_reallocarray(NULL,
+ res->certs[index].cert_list_length,
+ sizeof (gnutls_x509_crt_t));
if (*crt_list == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
if (ca_list == NULL || ca_list_size < 1)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- new_list = gnutls_malloc(ca_list_size * sizeof(gnutls_x509_crt_t));
+ new_list = _gnutls_reallocarray(NULL, ca_list_size,
+ sizeof(gnutls_x509_crt_t));
if (!new_list)
return GNUTLS_E_MEMORY_ERROR;
int crl_list_size)
{
int ret, i, j;
- gnutls_x509_crl_t *new_crl = gnutls_malloc(crl_list_size * sizeof(gnutls_x509_crl_t));
- unsigned flags = GNUTLS_TL_USE_IN_TLS;
+ gnutls_x509_crl_t *new_crl;
+ unsigned flags;
+ flags = GNUTLS_TL_USE_IN_TLS;
if (res->flags & GNUTLS_CERTIFICATE_VERIFY_CRLS)
flags |= GNUTLS_TL_VERIFY_CRL|GNUTLS_TL_FAIL_ON_INVALID_CRL;
+ new_crl = _gnutls_reallocarray(NULL, crl_list_size,
+ sizeof(gnutls_x509_crl_t));
if (!new_crl)
return GNUTLS_E_MEMORY_ERROR;
gnutls_pcert_st * crt,
int nr)
{
- res->sorted_cert_idx = gnutls_realloc_fast(res->sorted_cert_idx,
- (1 + res->ncerts) *
- sizeof(unsigned int));
+ res->sorted_cert_idx = _gnutls_reallocarray_fast(res->sorted_cert_idx,
+ res->ncerts + 1,
+ sizeof(unsigned int));
if (res->sorted_cert_idx == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- res->certs = gnutls_realloc_fast(res->certs,
- (1 + res->ncerts) *
- sizeof(certs_st));
+ res->certs = _gnutls_reallocarray_fast(res->certs,
+ res->ncerts + 1,
+ sizeof(certs_st));
if (res->certs == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
gnutls_privkey_set_pin_function(key, res->pin.cb,
res->pin.data);
- new_pcert_list = gnutls_malloc(sizeof(gnutls_pcert_st) * pcert_list_size);
+ new_pcert_list = _gnutls_reallocarray(NULL, pcert_list_size,
+ sizeof(gnutls_pcert_st));
if (new_pcert_list == NULL) {
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
if (certs == NULL)
return NULL;
- local_certs = gnutls_malloc(sizeof(gnutls_pcert_st) * ncerts);
+ local_certs = _gnutls_reallocarray(NULL, ncerts,
+ sizeof(gnutls_pcert_st));
if (local_certs == NULL) {
gnutls_assert();
return NULL;
tmp_mod.validity |= GNUTLS_EXT_FLAG_TLS;
}
- exts = gnutls_realloc(session->internals.rexts, (session->internals.rexts_size+1)*sizeof(*exts));
+ exts = _gnutls_reallocarray(session->internals.rexts,
+ session->internals.rexts_size + 1,
+ sizeof(*exts));
if (exts == NULL) {
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
unsigned int i = 0, j;
gnutls_x509_crt_t *crt;
- crt = gnutls_malloc((*pcert_list_size) * sizeof(gnutls_x509_crt_t));
+ crt = _gnutls_reallocarray(NULL, *pcert_list_size,
+ sizeof(gnutls_x509_crt_t));
if (crt == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
- list->key_ids =
- gnutls_malloc(sizeof(gnutls_buffer_st) * list->key_ids_size);
+ list->key_ids = _gnutls_reallocarray(NULL, list->key_ids_size,
+ sizeof(gnutls_buffer_st));
if (list->key_ids == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
return pkcs11_rv_to_err(rv);
}
- ctx = gnutls_malloc(OBJECTS_A_TIME*sizeof(ctx[0]));
+ ctx = _gnutls_reallocarray(NULL, OBJECTS_A_TIME, sizeof(ctx[0]));
if (ctx == NULL) {
ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
goto fail;
unsigned j;
gnutls_datum_t id;
- find_data->p_list = gnutls_realloc_fast(find_data->p_list, (find_data->current+count)*sizeof(find_data->p_list[0]));
+ find_data->p_list =
+ _gnutls_reallocarray_fast(find_data->p_list,
+ find_data->current + count,
+ sizeof(find_data->p_list[0]));
if (find_data->p_list == NULL) {
ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
goto fail;
rv = pkcs11_get_attribute_avalue(sinfo->module, sinfo->pks, obj, CKA_VALUE, &ext);
if (rv == CKR_OK) {
- find_data->exts = gnutls_realloc_fast(find_data->exts, (1+find_data->exts_size)*sizeof(find_data->exts[0]));
+ find_data->exts =
+ _gnutls_reallocarray_fast(find_data->exts,
+ find_data->exts_size + 1,
+ sizeof(find_data->exts[0]));
if (find_data->exts == NULL) {
ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
goto cleanup;
return gnutls_assert_val(GNUTLS_E_ALREADY_REGISTERED);
}
- p = gnutls_realloc_fast(suppfunc,
- sizeof(*suppfunc) * (suppfunc_size + 1));
+ p = _gnutls_reallocarray_fast(suppfunc, suppfunc_size + 1,
+ sizeof(*suppfunc));
if (!p) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
unsigned int init = 1024;
int ret;
- *crls = gnutls_malloc(sizeof(gnutls_x509_crl_t) * init);
+ *crls = _gnutls_reallocarray(NULL, init, sizeof(gnutls_x509_crl_t));
if (*crls == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
gnutls_x509_crl_list_import(*crls, &init, data, format,
flags | GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED);
if (ret == GNUTLS_E_SHORT_MEMORY_BUFFER) {
- *crls =
- gnutls_realloc_fast(*crls,
- sizeof(gnutls_x509_crl_t) * init);
+ *crls = _gnutls_reallocarray_fast(*crls, init,
+ sizeof(gnutls_x509_crl_t));
if (*crls == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
goto error;
}
- tmpcerts2 =
- gnutls_realloc_fast(tmpcerts,
- (ctr + 2) * sizeof(*tmpcerts));
+ tmpcerts2 = _gnutls_reallocarray_fast(tmpcerts, ctr + 2,
+ sizeof(*tmpcerts));
if (tmpcerts2 == NULL) {
gnutls_assert();
ret = GNUTLS_E_MEMORY_ERROR;
goto fail;
}
- new_ocsps = gnutls_realloc(*ocsps, (*size + 1)*sizeof(gnutls_ocsp_resp_t));
+ new_ocsps = _gnutls_reallocarray(*ocsps,
+ *size + 1,
+ sizeof(gnutls_ocsp_resp_t));
if (new_ocsps == NULL) {
resp = NULL;
gnutls_assert();
goto cleanup;
}
- *ocsps = gnutls_malloc(1*sizeof(gnutls_ocsp_resp_t));
+ *ocsps = gnutls_malloc(sizeof(gnutls_ocsp_resp_t));
if (*ocsps == NULL) {
gnutls_assert();
ret = GNUTLS_E_MEMORY_ERROR;
!= 0)
goto skip;
- *chain =
- gnutls_realloc_fast(*chain,
- sizeof((*chain)[0]) *
- ++(*chain_len));
+ *chain = _gnutls_reallocarray_fast(*chain,
+ ++(*chain_len),
+ sizeof((*chain)[0]));
if (*chain == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
if (memcmp(cert_id, key_id, cert_id_size) != 0) { /* they don't match - skip the certificate */
_extra_certs =
- gnutls_realloc_fast
- (_extra_certs,
- sizeof(_extra_certs
- [0]) *
- ++_extra_certs_len);
+ _gnutls_reallocarray_fast(_extra_certs,
+ ++_extra_certs_len,
+ sizeof(_extra_certs[0]));
if (!_extra_certs) {
gnutls_assert();
ret =
hash %= set->size;
set->node[hash].certs =
- gnutls_realloc_fast(set->node[hash].certs,
- (set->node[hash].size + 1) *
- sizeof(*set->node[hash].certs));
+ _gnutls_reallocarray_fast(set->node[hash].certs,
+ set->node[hash].size + 1,
+ sizeof(*set->node[hash].certs));
if (!set->node[hash].certs) {
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
gnutls_x509_crt_t cert)
{
list->keep_certs =
- gnutls_realloc_fast(list->keep_certs,
- (list->keep_certs_size +
- 1) *
- sizeof(list->keep_certs[0]));
+ _gnutls_reallocarray_fast(list->keep_certs,
+ list->keep_certs_size + 1,
+ sizeof(list->keep_certs[0]));
if (list->keep_certs == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
}
list->node[hash].trusted_cas =
- gnutls_realloc_fast(list->node[hash].trusted_cas,
- (list->node[hash].trusted_ca_size +
- 1) *
- sizeof(list->node[hash].
- trusted_cas[0]));
+ _gnutls_reallocarray_fast(list->node[hash].trusted_cas,
+ list->node[hash].trusted_ca_size + 1,
+ sizeof(list->node[hash].trusted_cas[0]));
if (list->node[hash].trusted_cas == NULL) {
gnutls_assert();
return i;
* ensure that a server certificate will also get rejected.
*/
list->blacklisted =
- gnutls_realloc_fast(list->blacklisted,
- (list->blacklisted_size + 1) *
- sizeof(list->blacklisted[0]));
+ _gnutls_reallocarray_fast(list->blacklisted,
+ list->blacklisted_size + 1,
+ sizeof(list->blacklisted[0]));
if (list->blacklisted == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
hash %= list->size;
list->node[hash].named_certs =
- gnutls_realloc_fast(list->node[hash].named_certs,
- (list->node[hash].named_cert_size +
- 1) *
- sizeof(list->node[hash].named_certs[0]));
+ _gnutls_reallocarray_fast(list->node[hash].named_certs,
+ list->node[hash].named_cert_size + 1,
+ sizeof(list->node[hash].named_certs[0]));
if (list->node[hash].named_certs == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
}
- tmp =
- gnutls_realloc(list->node[hash].crls,
- (list->node[hash].crl_size +
- 1) *
- sizeof(list->node[hash].
- crls[0]));
+ tmp = _gnutls_reallocarray(list->node[hash].crls,
+ list->node[hash].crl_size + 1,
+ sizeof(list->node[hash].crls[0]));
if (tmp == NULL) {
ret = i;
gnutls_assert();
goto cleanup;
}
- xcrt_list = gnutls_malloc(sizeof(gnutls_x509_crt_t) * pcrt_list_size);
+ xcrt_list = _gnutls_reallocarray(NULL, pcrt_list_size,
+ sizeof(gnutls_x509_crt_t));
if (xcrt_list == NULL) {
ret = GNUTLS_E_MEMORY_ERROR;
goto cleanup;
goto cleanup;
}
- xcrt_list = gnutls_malloc(sizeof(gnutls_x509_crt_t) * pcrt_list_size);
+ xcrt_list = _gnutls_reallocarray(NULL, pcrt_list_size,
+ sizeof(gnutls_x509_crt_t));
if (xcrt_list == NULL) {
ret = GNUTLS_E_MEMORY_ERROR;
goto cleanup;
unsigned int init = 1024;
int ret;
- *certs = gnutls_malloc(sizeof(gnutls_x509_crt_t) * init);
+ *certs = _gnutls_reallocarray(NULL, init, sizeof(gnutls_x509_crt_t));
if (*certs == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
gnutls_x509_crt_list_import(*certs, &init, data, format,
flags | GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED);
if (ret == GNUTLS_E_SHORT_MEMORY_BUFFER) {
- *certs =
- gnutls_realloc_fast(*certs,
- sizeof(gnutls_x509_crt_t) * init);
+ *certs = _gnutls_reallocarray_fast(*certs, init,
+ sizeof(gnutls_x509_crt_t));
if (*certs == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
gnutls_free(issuer.data);
}
- *certs = gnutls_malloc(total*sizeof(gnutls_x509_crt_t));
+ *certs = _gnutls_reallocarray(NULL, total, sizeof(gnutls_x509_crt_t));
if (*certs == NULL) {
ret = GNUTLS_E_MEMORY_ERROR;
goto cleanup;
void *tmp;
int ret;
- tmp = gnutls_realloc(*names, (*size + 1) * sizeof((*names)[0]));
+ tmp = _gnutls_reallocarray(*names, *size + 1, sizeof((*names)[0]));
if (tmp == NULL) {
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
void *tmp;
/* new dist point */
- tmp =
- gnutls_realloc(cdp->points,
- (cdp->size + 1) * sizeof(cdp->points[0]));
+ tmp = _gnutls_reallocarray(cdp->points, cdp->size + 1,
+ sizeof(cdp->points[0]));
if (tmp == NULL) {
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
void *tmp;
unsigned indx;
- tmp = gnutls_realloc(aia->aia, (aia->size + 1) * sizeof(aia->aia[0]));
+ tmp = _gnutls_reallocarray(aia->aia, aia->size + 1, sizeof(aia->aia[0]));
if (tmp == NULL) {
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
}
indx = aia->size;
- tmp = gnutls_realloc(aia->aia, (aia->size + 1) * sizeof(aia->aia[0]));
+ tmp = _gnutls_reallocarray(aia->aia, aia->size + 1,
+ sizeof(aia->aia[0]));
if (tmp == NULL) {
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}