nkey = dns_rdataset_count(keyset);
- keytable = isc_mem_getx(mctx, sizeof(keytable[0]) * nkey, ISC_MEM_ZERO);
+ keytable = isc_mem_cget(mctx, nkey, sizeof(keytable[0]));
for (result = dns_rdataset_first(keyset), i = 0, ki = keytable;
result == ISC_R_SUCCESS;
}
}
- isc_mem_put(mctx, keytable, sizeof(keytable[0]) * nkey);
+ isc_mem_cput(mctx, keytable, nkey, sizeof(keytable[0]));
}
/*
REQUIRE(keytbl != NULL);
- algo = isc_mem_getx(mctx, nkey * sizeof(algo[0]), ISC_MEM_ZERO);
+ algo = isc_mem_cget(mctx, nkey, sizeof(algo[0]));
for (result = dns_rdataset_first(sigset); result == ISC_R_SUCCESS;
result = dns_rdataset_next(sigset))
ok = true;
}
}
- isc_mem_put(mctx, algo, nkey * sizeof(algo[0]));
+ isc_mem_cput(mctx, algo, nkey, sizeof(algo[0]));
return (ok);
}
}
}
- isc_mem_put(mctx, algo, nkey * sizeof(algo[0]));
+ isc_mem_cput(mctx, algo, nkey, sizeof(algo[0]));
return (all_ok);
}
n = dns_rdataset_count(dsset);
- arrdata = isc_mem_get(mctx, n * sizeof(dns_rdata_t));
+ arrdata = isc_mem_cget(mctx, n, sizeof(dns_rdata_t));
for (result = dns_rdataset_first(dsset), i = 0; result == ISC_R_SUCCESS;
result = dns_rdataset_next(dsset), i++)
/*
* Convert sorted arrdata to more accessible format
*/
- ds = isc_mem_get(mctx, n * sizeof(dns_rdata_ds_t));
+ ds = isc_mem_cget(mctx, n, sizeof(dns_rdata_ds_t));
for (i = 0; i < n; i++) {
result = dns_rdata_tostruct(&arrdata[i], &ds[i], NULL);
/*
* Done!
*/
- isc_mem_put(mctx, ds, n * sizeof(dns_rdata_ds_t));
- isc_mem_put(mctx, arrdata, n * sizeof(dns_rdata_t));
+ isc_mem_cput(mctx, ds, n, sizeof(dns_rdata_ds_t));
+ isc_mem_cput(mctx, arrdata, n, sizeof(dns_rdata_t));
return (match);
}
if (!nosigs) {
arraysize += dns_rdataset_count(&sigset);
}
- wassignedby = isc_mem_get(mctx, arraysize * sizeof(bool));
- nowsignedby = isc_mem_get(mctx, arraysize * sizeof(bool));
+ wassignedby = isc_mem_cget(mctx, arraysize, sizeof(bool));
+ nowsignedby = isc_mem_cget(mctx, arraysize, sizeof(bool));
for (i = 0; i < arraysize; i++) {
wassignedby[i] = nowsignedby[i] = false;
}
}
- isc_mem_put(mctx, wassignedby, arraysize * sizeof(bool));
- isc_mem_put(mctx, nowsignedby, arraysize * sizeof(bool));
+ isc_mem_cput(mctx, wassignedby, arraysize, sizeof(bool));
+ isc_mem_cput(mctx, nowsignedby, arraysize, sizeof(bool));
}
struct hashlist {
shrink_array(mctx, sources, i, srccount);
if (lists != NULL) {
- isc_mem_put(mctx, lists, listcount * sizeof(lists[0]));
+ isc_mem_cput(mctx, lists, listcount, sizeof(lists[0]));
}
if (stack != NULL) {
- isc_mem_put(mctx, stack, stackcount * sizeof(stack[0]));
+ isc_mem_cput(mctx, stack, stackcount, sizeof(stack[0]));
}
INSIST(keycount == addrcount);
cleanup:
if (addrs != NULL) {
- isc_mem_put(mctx, addrs, addrcount * sizeof(addrs[0]));
+ isc_mem_cput(mctx, addrs, addrcount, sizeof(addrs[0]));
}
if (keys != NULL) {
for (size_t j = 0; j < i; j++) {
}
isc_mem_put(mctx, keys[j], sizeof(*keys[j]));
}
- isc_mem_put(mctx, keys, keycount * sizeof(keys[0]));
+ isc_mem_cput(mctx, keys, keycount, sizeof(keys[0]));
}
if (tlss != NULL) {
for (size_t j = 0; j < i; j++) {
}
isc_mem_put(mctx, tlss[j], sizeof(*tlss[j]));
}
- isc_mem_put(mctx, tlss, tlscount * sizeof(tlss[0]));
+ isc_mem_cput(mctx, tlss, tlscount, sizeof(tlss[0]));
}
if (sources != NULL) {
- isc_mem_put(mctx, sources, srccount * sizeof(sources[0]));
+ isc_mem_cput(mctx, sources, srccount, sizeof(sources[0]));
}
if (lists != NULL) {
- isc_mem_put(mctx, lists, listcount * sizeof(lists[0]));
+ isc_mem_cput(mctx, lists, listcount, sizeof(lists[0]));
}
if (stack != NULL) {
- isc_mem_put(mctx, stack, stackcount * sizeof(stack[0]));
+ isc_mem_cput(mctx, stack, stackcount, sizeof(stack[0]));
}
return (result);
}
dlzargv[0], dlzargc, dlzargv,
&dlzdb);
isc_mem_free(mctx, s);
- isc_mem_put(mctx, dlzargv, dlzargc * sizeof(*dlzargv));
+ isc_mem_cput(mctx, dlzargv, dlzargc, sizeof(*dlzargv));
if (result != ISC_R_SUCCESS) {
goto cleanup;
}
if (n == 0) {
types = NULL;
} else {
- types = isc_mem_get(mctx, n * sizeof(*types));
+ types = isc_mem_cget(mctx, n, sizeof(*types));
}
i = 0;
ISC_LOG_ERROR,
"'%s' is not a valid count",
bracket);
- isc_mem_put(mctx, types,
- n * sizeof(*types));
+ isc_mem_cput(mctx, types, n,
+ sizeof(*types));
goto cleanup;
}
} else {
ISC_LOG_ERROR,
"'%.*s' is not a valid type",
(int)r.length, str);
- isc_mem_put(mctx, types, n * sizeof(*types));
+ isc_mem_cput(mctx, types, n, sizeof(*types));
goto cleanup;
}
}
mtype, dns_fixedname_name(&fname), n,
types);
if (types != NULL) {
- isc_mem_put(mctx, types, n * sizeof(*types));
+ isc_mem_cput(mctx, types, n, sizeof(*types));
}
}
if (*s == '\0') {
/* We have reached the end of the string. */
*argcp = n;
- *argvp = isc_mem_get(mctx, n * sizeof(char *));
+ *argvp = isc_mem_cget(mctx, n, sizeof(char *));
} else {
char *p = s;
while (*p != ' ' && *p != '\t' && *p != '\0') {
* compiler w/o generating a warning.
*/
dns_zone_setdbtype(zone, dbargc, (const char *const *)dbargv);
- isc_mem_put(mctx, dbargv, dbargc * sizeof(*dbargv));
+ isc_mem_cput(mctx, dbargv, dbargc, sizeof(*dbargv));
if (cpval != default_dbtype && cpval != dlz_dbtype) {
isc_mem_free(mctx, cpval);
}
static void
primary_from_servers(void) {
if (primary_servers != NULL && primary_servers != servers) {
- isc_mem_put(gmctx, primary_servers,
- primary_alloc * sizeof(isc_sockaddr_t));
+ isc_mem_cput(gmctx, primary_servers, primary_alloc,
+ sizeof(isc_sockaddr_t));
}
primary_servers = servers;
primary_total = ns_total;
* to NULL.
*/
if (primary_servers != NULL && primary_servers != servers) {
- isc_mem_put(gmctx, primary_servers,
- primary_alloc * sizeof(isc_sockaddr_t));
+ isc_mem_cput(gmctx, primary_servers, primary_alloc,
+ sizeof(isc_sockaddr_t));
}
if (servers != NULL) {
- isc_mem_put(gmctx, servers, ns_alloc * sizeof(isc_sockaddr_t));
+ isc_mem_cput(gmctx, servers, ns_alloc, sizeof(isc_sockaddr_t));
}
if (localaddr4 != NULL) {
if (primary_servers == servers) {
primary_servers = NULL;
}
- isc_mem_put(gmctx, servers, ns_alloc * sizeof(isc_sockaddr_t));
+ isc_mem_cput(gmctx, servers, ns_alloc, sizeof(isc_sockaddr_t));
}
ns_inuse = 0;
default_servers = !local_only;
ns_total = ns_alloc = (have_ipv4 ? 1 : 0) + (have_ipv6 ? 1 : 0);
- servers = isc_mem_get(gmctx, ns_alloc * sizeof(isc_sockaddr_t));
+ servers = isc_mem_cget(gmctx, ns_alloc, sizeof(isc_sockaddr_t));
if (have_ipv6) {
memset(&in6, 0, sizeof(in6));
}
ns_alloc = ns_total;
- servers = isc_mem_get(gmctx, ns_alloc * sizeof(isc_sockaddr_t));
+ servers = isc_mem_cget(gmctx, ns_alloc, sizeof(isc_sockaddr_t));
i = 0;
for (sa = ISC_LIST_HEAD(*nslist); sa != NULL;
if (primary_servers == servers) {
primary_servers = NULL;
}
- isc_mem_put(gmctx, servers, ns_alloc * sizeof(isc_sockaddr_t));
+ isc_mem_cput(gmctx, servers, ns_alloc, sizeof(isc_sockaddr_t));
}
default_servers = false;
ns_alloc = MAX_SERVERADDRS;
ns_inuse = 0;
- servers = isc_mem_getx(gmctx, ns_alloc * sizeof(isc_sockaddr_t),
- ISC_MEM_ZERO);
+ servers = isc_mem_cget(gmctx, ns_alloc, sizeof(isc_sockaddr_t));
ns_total = get_addresses(server, (in_port_t)port, servers, ns_alloc);
if (ns_total == 0) {
return (STATUS_SYNTAX);
serverstr[isc_buffer_usedlength(&buf)] = 0;
if (primary_servers != NULL && primary_servers != servers) {
- isc_mem_put(gmctx, primary_servers,
- primary_alloc * sizeof(isc_sockaddr_t));
+ isc_mem_cput(gmctx, primary_servers, primary_alloc,
+ sizeof(isc_sockaddr_t));
}
primary_alloc = MAX_SERVERADDRS;
size = primary_alloc * sizeof(isc_sockaddr_t);
cleanup:
isc_mem_free(mctx, s);
if (argv != NULL) {
- isc_mem_put(mctx, argv, argc * sizeof(*argv));
+ isc_mem_cput(mctx, argv, argc, sizeof(*argv));
}
return (result);
*/
acl->magic = DNS_ACL_MAGIC;
- acl->elements = isc_mem_getx(mctx, n * sizeof(acl->elements[0]),
- ISC_MEM_ZERO);
+ acl->elements = isc_mem_cget(mctx, n, sizeof(acl->elements[0]));
acl->alloc = n;
ISC_LIST_INIT(acl->ports_and_transports);
acl->port_proto_entries = 0;
newalloc = 4;
}
- dest->elements = isc_mem_regetx(
- dest->mctx, dest->elements,
- dest->alloc * sizeof(dest->elements[0]),
- newalloc * sizeof(dest->elements[0]), ISC_MEM_ZERO);
+ dest->elements = isc_mem_creget(dest->mctx, dest->elements,
+ dest->alloc, newalloc,
+ sizeof(dest->elements[0]));
dest->alloc = newalloc;
}
}
}
if (dacl->elements != NULL) {
- isc_mem_put(dacl->mctx, dacl->elements,
- dacl->alloc * sizeof(dacl->elements[0]));
+ isc_mem_cput(dacl->mctx, dacl->elements, dacl->alloc,
+ sizeof(dacl->elements[0]));
}
if (dacl->name != NULL) {
isc_mem_free(dacl->mctx, dacl->name);
if (length == 0) {
return (ISC_R_SUCCESS);
}
- v = isc_mem_get(diff->mctx, length * sizeof(dns_difftuple_t *));
+ v = isc_mem_cget(diff->mctx, length, sizeof(dns_difftuple_t *));
for (i = 0; i < length; i++) {
p = ISC_LIST_HEAD(diff->tuples);
v[i] = p;
for (i = 0; i < length; i++) {
ISC_LIST_APPEND(diff->tuples, v[i], link);
}
- isc_mem_put(diff->mctx, v, length * sizeof(dns_difftuple_t *));
+ isc_mem_cput(diff->mctx, v, length, sizeof(dns_difftuple_t *));
return (ISC_R_SUCCESS);
}
v4ports = NULL;
if (nv4ports != 0) {
- v4ports = isc_mem_get(mgr->mctx, sizeof(in_port_t) * nv4ports);
+ v4ports = isc_mem_cget(mgr->mctx, nv4ports, sizeof(in_port_t));
}
v6ports = NULL;
if (nv6ports != 0) {
- v6ports = isc_mem_get(mgr->mctx, sizeof(in_port_t) * nv6ports);
+ v6ports = isc_mem_cget(mgr->mctx, nv6ports, sizeof(in_port_t));
}
do {
INSIST(i4 == nv4ports && i6 == nv6ports);
if (mgr->v4ports != NULL) {
- isc_mem_put(mgr->mctx, mgr->v4ports,
- mgr->nv4ports * sizeof(in_port_t));
+ isc_mem_cput(mgr->mctx, mgr->v4ports, mgr->nv4ports,
+ sizeof(in_port_t));
}
mgr->v4ports = v4ports;
mgr->nv4ports = nv4ports;
if (mgr->v6ports != NULL) {
- isc_mem_put(mgr->mctx, mgr->v6ports,
- mgr->nv6ports * sizeof(in_port_t));
+ isc_mem_cput(mgr->mctx, mgr->v6ports, mgr->nv6ports,
+ sizeof(in_port_t));
}
mgr->v6ports = v6ports;
mgr->nv6ports = nv6ports;
}
if (mgr->v4ports != NULL) {
- isc_mem_put(mgr->mctx, mgr->v4ports,
- mgr->nv4ports * sizeof(in_port_t));
+ isc_mem_cput(mgr->mctx, mgr->v4ports, mgr->nv4ports,
+ sizeof(in_port_t));
}
if (mgr->v6ports != NULL) {
- isc_mem_put(mgr->mctx, mgr->v6ports,
- mgr->nv6ports * sizeof(in_port_t));
+ isc_mem_cput(mgr->mctx, mgr->v6ports, mgr->nv6ports,
+ sizeof(in_port_t));
}
isc_nm_detach(&mgr->nm);
*qid = (dns_qid_t){ .qid_nbuckets = DNS_QID_BUCKETS,
.qid_increment = DNS_QID_INCREMENT };
- qid->qid_table = isc_mem_get(mgr->mctx,
- DNS_QID_BUCKETS * sizeof(dns_displist_t));
+ qid->qid_table = isc_mem_cget(mgr->mctx, DNS_QID_BUCKETS,
+ sizeof(dns_displist_t));
for (i = 0; i < qid->qid_nbuckets; i++) {
ISC_LIST_INIT(qid->qid_table[i]);
}
REQUIRE(VALID_QID(qid));
qid->magic = 0;
- isc_mem_put(mctx, qid->qid_table,
- qid->qid_nbuckets * sizeof(dns_displist_t));
+ isc_mem_cput(mctx, qid->qid_table, qid->qid_nbuckets,
+ sizeof(dns_displist_t));
isc_mutex_destroy(&qid->lock);
isc_mem_put(mctx, qid, sizeof(*qid));
}
isc_mutex_init(&dset->lock);
- dset->dispatches = isc_mem_get(mctx, sizeof(dns_dispatch_t *) * n);
+ dset->dispatches = isc_mem_cget(mctx, n, sizeof(dns_dispatch_t *));
isc_mem_attach(mctx, &dset->mctx);
for (j = 0; j < i; j++) {
dns_dispatch_detach(&(dset->dispatches[j])); /* DISPATCH004 */
}
- isc_mem_put(mctx, dset->dispatches, sizeof(dns_dispatch_t *) * n);
+ isc_mem_cput(mctx, dset->dispatches, n, sizeof(dns_dispatch_t *));
if (dset->mctx == mctx) {
isc_mem_detach(&dset->mctx);
}
for (i = 0; i < dset->ndisp; i++) {
dns_dispatch_detach(&(dset->dispatches[i])); /* DISPATCH004 */
}
- isc_mem_put(dset->mctx, dset->dispatches,
- sizeof(dns_dispatch_t *) * dset->ndisp);
+ isc_mem_cput(dset->mctx, dset->dispatches, dset->ndisp,
+ sizeof(dns_dispatch_t *));
isc_mutex_destroy(&dset->lock);
isc_mem_putanddetach(&dset->mctx, dset, sizeof(dns_dispatchset_t));
}
n = dns_rdataset_count(set);
- data = isc_mem_get(mctx, n * sizeof(dns_rdata_t));
+ data = isc_mem_cget(mctx, n, sizeof(dns_rdata_t));
dns_rdataset_init(&rdataset);
dns_rdataset_clone(set, &rdataset);
ret = dns_rdataset_first(&rdataset);
if (ret != ISC_R_SUCCESS) {
dns_rdataset_disassociate(&rdataset);
- isc_mem_put(mctx, data, n * sizeof(dns_rdata_t));
+ isc_mem_cput(mctx, data, n, sizeof(dns_rdata_t));
return (ret);
}
sig.common.rdtype, &sig, buffer);
cleanup_array:
- isc_mem_put(mctx, rdatas, nrdatas * sizeof(dns_rdata_t));
+ isc_mem_cput(mctx, rdatas, nrdatas, sizeof(dns_rdata_t));
cleanup_context:
dst_context_destroy(&ctx);
cleanup_databuf:
}
cleanup_array:
- isc_mem_put(mctx, rdatas, nrdatas * sizeof(dns_rdata_t));
+ isc_mem_cput(mctx, rdatas, nrdatas, sizeof(dns_rdata_t));
cleanup_context:
dst_context_destroy(&ctx);
if (ret == DST_R_VERIFYFAILURE && !downcase) {
}
if (ipkl->addrs != NULL) {
- isc_mem_put(mctx, ipkl->addrs,
- ipkl->allocated * sizeof(isc_sockaddr_t));
+ isc_mem_cput(mctx, ipkl->addrs, ipkl->allocated,
+ sizeof(isc_sockaddr_t));
}
if (ipkl->sources != NULL) {
- isc_mem_put(mctx, ipkl->sources,
- ipkl->allocated * sizeof(isc_sockaddr_t));
+ isc_mem_cput(mctx, ipkl->sources, ipkl->allocated,
+ sizeof(isc_sockaddr_t));
}
if (ipkl->addrs != NULL) {
- isc_mem_put(mctx, ipkl->addrs,
- ipkl->allocated * sizeof(isc_sockaddr_t));
+ isc_mem_cput(mctx, ipkl->addrs, ipkl->allocated,
+ sizeof(isc_sockaddr_t));
}
if (ipkl->keys != NULL) {
}
isc_mem_put(mctx, ipkl->keys[i], sizeof(dns_name_t));
}
- isc_mem_put(mctx, ipkl->keys,
- ipkl->allocated * sizeof(dns_name_t *));
+ isc_mem_cput(mctx, ipkl->keys, ipkl->allocated,
+ sizeof(dns_name_t *));
}
if (ipkl->tlss != NULL) {
}
isc_mem_put(mctx, ipkl->tlss[i], sizeof(dns_name_t));
}
- isc_mem_put(mctx, ipkl->tlss,
- ipkl->allocated * sizeof(dns_name_t *));
+ isc_mem_cput(mctx, ipkl->tlss, ipkl->allocated,
+ sizeof(dns_name_t *));
}
if (ipkl->labels != NULL) {
}
isc_mem_put(mctx, ipkl->labels[i], sizeof(dns_name_t));
}
- isc_mem_put(mctx, ipkl->labels,
- ipkl->allocated * sizeof(dns_name_t *));
+ isc_mem_cput(mctx, ipkl->labels, ipkl->allocated,
+ sizeof(dns_name_t *));
}
dns_ipkeylist_init(ipkl);
return (ISC_R_SUCCESS);
}
- addrs = isc_mem_get(mctx, n * sizeof(isc_sockaddr_t));
- sources = isc_mem_get(mctx, n * sizeof(isc_sockaddr_t));
- keys = isc_mem_get(mctx, n * sizeof(dns_name_t *));
- tlss = isc_mem_get(mctx, n * sizeof(dns_name_t *));
- labels = isc_mem_get(mctx, n * sizeof(dns_name_t *));
+ addrs = isc_mem_cget(mctx, n, sizeof(isc_sockaddr_t));
+ sources = isc_mem_cget(mctx, n, sizeof(isc_sockaddr_t));
+ keys = isc_mem_cget(mctx, n, sizeof(dns_name_t *));
+ tlss = isc_mem_cget(mctx, n, sizeof(dns_name_t *));
+ labels = isc_mem_cget(mctx, n, sizeof(dns_name_t *));
if (ipkl->addrs != NULL) {
memmove(addrs, ipkl->addrs,
ipkl->allocated * sizeof(isc_sockaddr_t));
- isc_mem_put(mctx, ipkl->addrs,
- ipkl->allocated * sizeof(isc_sockaddr_t));
+ isc_mem_cput(mctx, ipkl->addrs, ipkl->allocated,
+ sizeof(isc_sockaddr_t));
}
ipkl->addrs = addrs;
memset(&ipkl->addrs[ipkl->allocated], 0,
if (ipkl->sources != NULL) {
memmove(sources, ipkl->sources,
ipkl->allocated * sizeof(isc_sockaddr_t));
- isc_mem_put(mctx, ipkl->sources,
- ipkl->allocated * sizeof(isc_sockaddr_t));
+ isc_mem_cput(mctx, ipkl->sources, ipkl->allocated,
+ sizeof(isc_sockaddr_t));
}
ipkl->sources = sources;
memset(&ipkl->sources[ipkl->allocated], 0,
if (ipkl->keys) {
memmove(keys, ipkl->keys,
ipkl->allocated * sizeof(dns_name_t *));
- isc_mem_put(mctx, ipkl->keys,
- ipkl->allocated * sizeof(dns_name_t *));
+ isc_mem_cput(mctx, ipkl->keys, ipkl->allocated,
+ sizeof(dns_name_t *));
}
ipkl->keys = keys;
memset(&ipkl->keys[ipkl->allocated], 0,
if (ipkl->tlss) {
memmove(tlss, ipkl->tlss,
ipkl->allocated * sizeof(dns_name_t *));
- isc_mem_put(mctx, ipkl->tlss,
- ipkl->allocated * sizeof(dns_name_t *));
+ isc_mem_cput(mctx, ipkl->tlss, ipkl->allocated,
+ sizeof(dns_name_t *));
}
ipkl->tlss = tlss;
memset(&ipkl->tlss[ipkl->allocated], 0,
if (ipkl->labels != NULL) {
memmove(labels, ipkl->labels,
ipkl->allocated * sizeof(dns_name_t *));
- isc_mem_put(mctx, ipkl->labels,
- ipkl->allocated * sizeof(dns_name_t *));
+ isc_mem_cput(mctx, ipkl->labels, ipkl->allocated,
+ sizeof(dns_name_t *));
}
ipkl->labels = labels;
memset(&ipkl->labels[ipkl->allocated], 0,
ipkl->allocated = n;
return (ISC_R_SUCCESS);
- isc_mem_put(mctx, addrs, n * sizeof(isc_sockaddr_t));
- isc_mem_put(mctx, sources, n * sizeof(isc_sockaddr_t));
- isc_mem_put(mctx, tlss, n * sizeof(dns_name_t *));
- isc_mem_put(mctx, keys, n * sizeof(dns_name_t *));
- isc_mem_put(mctx, labels, n * sizeof(dns_name_t *));
+ isc_mem_cput(mctx, addrs, n, sizeof(isc_sockaddr_t));
+ isc_mem_cput(mctx, sources, n, sizeof(isc_sockaddr_t));
+ isc_mem_cput(mctx, tlss, n, sizeof(dns_name_t *));
+ isc_mem_cput(mctx, keys, n, sizeof(dns_name_t *));
+ isc_mem_cput(mctx, labels, n, sizeof(dns_name_t *));
return (ISC_R_NOMEMORY);
}
CHECK(journal_read(j, j->rawindex, rawbytes));
- j->index = isc_mem_get(mctx, j->header.index_size *
- sizeof(journal_pos_t));
+ j->index = isc_mem_cget(mctx, j->header.index_size,
+ sizeof(journal_pos_t));
p = j->rawindex;
for (i = 0; i < j->header.index_size; i++) {
failure:
j->magic = 0;
if (j->rawindex != NULL) {
- isc_mem_put(j->mctx, j->rawindex,
- j->header.index_size * sizeof(journal_rawpos_t));
+ isc_mem_cput(j->mctx, j->rawindex, j->header.index_size,
+ sizeof(journal_rawpos_t));
}
if (j->index != NULL) {
- isc_mem_put(j->mctx, j->index,
- j->header.index_size * sizeof(journal_pos_t));
+ isc_mem_cput(j->mctx, j->index, j->header.index_size,
+ sizeof(journal_pos_t));
}
isc_mem_free(j->mctx, j->filename);
if (j->fp != NULL) {
j->it.result = ISC_R_FAILURE;
dns_name_invalidate(&j->it.name);
if (j->rawindex != NULL) {
- isc_mem_put(j->mctx, j->rawindex,
- j->header.index_size * sizeof(journal_rawpos_t));
+ isc_mem_cput(j->mctx, j->rawindex, j->header.index_size,
+ sizeof(journal_rawpos_t));
}
if (j->index != NULL) {
- isc_mem_put(j->mctx, j->index,
- j->header.index_size * sizeof(journal_pos_t));
+ isc_mem_cput(j->mctx, j->index, j->header.index_size,
+ sizeof(journal_pos_t));
}
if (j->it.target.base != NULL) {
isc_mem_put(j->mctx, j->it.target.base, j->it.target.length);
ISC_LIST_UNLINK(glue_list, this, link);
}
if (rdatalist != NULL) {
- isc_mem_put(mctx, rdatalist,
- rdatalist_size * sizeof(*rdatalist));
+ isc_mem_cput(mctx, rdatalist, rdatalist_size,
+ sizeof(*rdatalist));
}
if (rdata != NULL) {
- isc_mem_put(mctx, rdata, rdata_size * sizeof(*rdata));
+ isc_mem_cput(mctx, rdata, rdata_size, sizeof(*rdata));
}
if (target_mem != NULL) {
isc_mem_put(mctx, target_mem, target_size);
cleanup:
if (rdata != NULL) {
- isc_mem_put(mctx, rdata, rdata_size * sizeof(*rdata));
+ isc_mem_cput(mctx, rdata, rdata_size, sizeof(*rdata));
}
if (target_mem != NULL) {
isc_mem_put(mctx, target_mem, target_size);
for (i = 0; i < rbtdb->node_lock_count; i++) {
INSIST(ISC_LIST_EMPTY(rbtdb->lru[i]));
}
- isc_mem_put(rbtdb->common.mctx, rbtdb->lru,
- rbtdb->node_lock_count *
- sizeof(dns_slabheaderlist_t));
+ isc_mem_cput(rbtdb->common.mctx, rbtdb->lru,
+ rbtdb->node_lock_count,
+ sizeof(dns_slabheaderlist_t));
}
/*
* Clean up dead node buckets.
for (i = 0; i < rbtdb->node_lock_count; i++) {
INSIST(ISC_LIST_EMPTY(rbtdb->deadnodes[i]));
}
- isc_mem_put(rbtdb->common.mctx, rbtdb->deadnodes,
- rbtdb->node_lock_count * sizeof(dns_rbtnodelist_t));
+ isc_mem_cput(rbtdb->common.mctx, rbtdb->deadnodes,
+ rbtdb->node_lock_count, sizeof(dns_rbtnodelist_t));
}
/*
* Clean up heap objects.
for (i = 0; i < rbtdb->node_lock_count; i++) {
isc_heap_destroy(&rbtdb->heaps[i]);
}
- isc_mem_put(rbtdb->hmctx, rbtdb->heaps,
- rbtdb->node_lock_count * sizeof(isc_heap_t *));
+ isc_mem_cput(rbtdb->hmctx, rbtdb->heaps, rbtdb->node_lock_count,
+ sizeof(isc_heap_t *));
}
if (rbtdb->rrsetstats != NULL) {
isc_stats_detach(&rbtdb->gluecachestats);
}
- isc_mem_put(rbtdb->common.mctx, rbtdb->node_locks,
- rbtdb->node_lock_count * sizeof(rbtdb_nodelock_t));
+ isc_mem_cput(rbtdb->common.mctx, rbtdb->node_locks,
+ rbtdb->node_lock_count, sizeof(rbtdb_nodelock_t));
TREE_DESTROYLOCK(&rbtdb->tree_lock);
isc_refcount_destroy(&rbtdb->common.references);
if (rbtdb->loop != NULL) {
if ((shuffle || sort)) {
if (count > MAX_SHUFFLE) {
- in = isc_mem_get(cctx->mctx, count * sizeof(*in));
- out = isc_mem_get(cctx->mctx, count * sizeof(*out));
+ in = isc_mem_cget(cctx->mctx, count, sizeof(*in));
+ out = isc_mem_cget(cctx->mctx, count, sizeof(*out));
if (in == NULL || out == NULL) {
shuffle = sort = false;
}
cleanup:
if (out != NULL && out != out_fixed) {
- isc_mem_put(cctx->mctx, out, count * sizeof(*out));
+ isc_mem_cput(cctx->mctx, out, count, sizeof(*out));
}
if (in != NULL && in != in_fixed) {
- isc_mem_put(cctx->mctx, in, count * sizeof(*in));
+ isc_mem_cput(cctx->mctx, in, count, sizeof(*in));
}
return (result);
}
* Remember the original number of items.
*/
nalloc = nitems;
- x = isc_mem_get(mctx, nalloc * sizeof(struct xrdata));
+ x = isc_mem_cget(mctx, nalloc, sizeof(struct xrdata));
/*
* Save all of the rdata members into an array.
#if DNS_RDATASET_FIXED
/* Allocate temporary offset table. */
- offsettable = isc_mem_getx(mctx, nalloc * sizeof(unsigned int),
- ISC_MEM_ZERO);
+ offsettable = isc_mem_cget(mctx, nalloc, sizeof(unsigned int));
#endif /* if DNS_RDATASET_FIXED */
region->base = rawbuf;
#if DNS_RDATASET_FIXED
fillin_offsets(offsetbase, offsettable, nalloc);
- isc_mem_put(mctx, offsettable, nalloc * sizeof(unsigned int));
+ isc_mem_cput(mctx, offsettable, nalloc, sizeof(unsigned int));
#endif /* if DNS_RDATASET_FIXED */
result = ISC_R_SUCCESS;
free_rdatas:
- isc_mem_put(mctx, x, nalloc * sizeof(struct xrdata));
+ isc_mem_cput(mctx, x, nalloc, sizeof(struct xrdata));
return (result);
}
*/
tcurrent += (tcount * 4);
- offsettable = isc_mem_getx(
- mctx, (ocount + oncount) * sizeof(unsigned int), ISC_MEM_ZERO);
+ offsettable = isc_mem_cget(mctx, (ocount + oncount),
+ sizeof(unsigned int));
#endif /* if DNS_RDATASET_FIXED */
/*
#if DNS_RDATASET_FIXED
fillin_offsets(offsetbase, offsettable, ocount + oncount);
- isc_mem_put(mctx, offsettable,
- (ocount + oncount) * sizeof(unsigned int));
+ isc_mem_cput(mctx, offsettable, (ocount + oncount),
+ sizeof(unsigned int));
#endif /* if DNS_RDATASET_FIXED */
INSIST(tcurrent == tstart + tlength);
#if DNS_RDATASET_FIXED
offsetbase = tcurrent;
- offsettable = isc_mem_getx(mctx, mcount * sizeof(unsigned int),
- ISC_MEM_ZERO);
+ offsettable = isc_mem_cget(mctx, mcount, sizeof(unsigned int));
#endif /* if DNS_RDATASET_FIXED */
/*
#if DNS_RDATASET_FIXED
fillin_offsets(offsetbase, offsettable, mcount);
- isc_mem_put(mctx, offsettable, mcount * sizeof(unsigned int));
+ isc_mem_cput(mctx, offsettable, mcount, sizeof(unsigned int));
#endif /* if DNS_RDATASET_FIXED */
INSIST(tcurrent == tstart + tlength);
remote->mctx = mctx;
if (addrs != NULL) {
- remote->addresses = isc_mem_get(mctx,
- count * sizeof(isc_sockaddr_t));
+ remote->addresses = isc_mem_cget(mctx, count,
+ sizeof(isc_sockaddr_t));
memmove(remote->addresses, addrs,
count * sizeof(isc_sockaddr_t));
} else {
}
if (srcs != NULL) {
- remote->sources = isc_mem_get(mctx,
- count * sizeof(isc_sockaddr_t));
+ remote->sources = isc_mem_cget(mctx, count,
+ sizeof(isc_sockaddr_t));
memmove(remote->sources, srcs, count * sizeof(isc_sockaddr_t));
} else {
remote->sources = NULL;
}
if (keynames != NULL) {
- remote->keynames = isc_mem_get(mctx,
- count * sizeof(keynames[0]));
+ remote->keynames = isc_mem_cget(mctx, count,
+ sizeof(keynames[0]));
for (i = 0; i < count; i++) {
remote->keynames[i] = NULL;
}
}
if (tlsnames != NULL) {
- remote->tlsnames = isc_mem_get(mctx,
- count * sizeof(tlsnames[0]));
+ remote->tlsnames = isc_mem_cget(mctx, count,
+ sizeof(tlsnames[0]));
for (i = 0; i < count; i++) {
remote->tlsnames[i] = NULL;
}
}
if (mark) {
- remote->ok = isc_mem_get(mctx, count * sizeof(bool));
+ remote->ok = isc_mem_cget(mctx, count, sizeof(bool));
for (i = 0; i < count; i++) {
remote->ok[i] = false;
}
}
if (remote->ok != NULL) {
- isc_mem_put(mctx, remote->ok, count * sizeof(bool));
+ isc_mem_cput(mctx, remote->ok, count, sizeof(bool));
remote->ok = NULL;
}
if (remote->addresses != NULL) {
- isc_mem_put(mctx, remote->addresses,
- count * sizeof(isc_sockaddr_t));
+ isc_mem_cput(mctx, remote->addresses, count,
+ sizeof(isc_sockaddr_t));
remote->addresses = NULL;
}
if (remote->sources != NULL) {
- isc_mem_put(mctx, remote->sources,
- count * sizeof(isc_sockaddr_t));
+ isc_mem_cput(mctx, remote->sources, count,
+ sizeof(isc_sockaddr_t));
remote->sources = NULL;
}
remote->keynames[i] = NULL;
}
}
- isc_mem_put(mctx, remote->keynames,
- count * sizeof(dns_name_t *));
+ isc_mem_cput(mctx, remote->keynames, count,
+ sizeof(dns_name_t *));
remote->keynames = NULL;
}
remote->tlsnames[i] = NULL;
}
}
- isc_mem_put(mctx, remote->tlsnames,
- count * sizeof(dns_name_t *));
+ isc_mem_cput(mctx, remote->tlsnames, count,
+ sizeof(dns_name_t *));
remote->tlsnames = NULL;
}
for (size_t i = 0; i < nloops; i++) {
INSIST(ISC_LIST_EMPTY(requestmgr->requests[i]));
}
- isc_mem_put(requestmgr->mctx, requestmgr->requests,
- nloops * sizeof(requestmgr->requests[0]));
+ isc_mem_cput(requestmgr->mctx, requestmgr->requests, nloops,
+ sizeof(requestmgr->requests[0]));
if (requestmgr->dispatchv4 != NULL) {
dns_dispatch_detach(&requestmgr->dispatchv4);
* into it if one exists.
*/
node->data = algorithms =
- isc_mem_regetx(resolver->mctx, algorithms,
- algorithms_len, len, ISC_MEM_ZERO);
+ isc_mem_creget(resolver->mctx, algorithms,
+ algorithms_len, len, sizeof(char));
/* store the new length */
algorithms[0] = len;
}
isc_mem_put(mctx, rule->name, sizeof(*rule->name));
}
if (rule->types != NULL) {
- isc_mem_put(mctx, rule->types,
- rule->ntypes * sizeof(*rule->types));
+ isc_mem_cput(mctx, rule->types, rule->ntypes,
+ sizeof(*rule->types));
}
ISC_LIST_UNLINK(table->rules, rule, link);
rule->magic = 0;
rule->ntypes = ntypes;
if (ntypes > 0) {
- rule->types = isc_mem_get(mctx, ntypes * sizeof(*rule->types));
+ rule->types = isc_mem_cget(mctx, ntypes, sizeof(*rule->types));
memmove(rule->types, types, ntypes * sizeof(*rule->types));
} else {
rule->types = NULL;
for (i = 0; i < zone->db_argc; i++) {
isc_mem_free(zone->mctx, zone->db_argv[i]);
}
- isc_mem_put(zone->mctx, zone->db_argv,
- zone->db_argc * sizeof(*zone->db_argv));
+ isc_mem_cput(zone->mctx, zone->db_argv, zone->db_argc,
+ sizeof(*zone->db_argv));
}
zone->db_argc = 0;
zone->db_argv = NULL;
LOCK_ZONE(zone);
/* Set up a new database argument list. */
- argv = isc_mem_get(zone->mctx, dbargc * sizeof(*argv));
+ argv = isc_mem_cget(zone->mctx, dbargc, sizeof(*argv));
for (i = 0; i < dbargc; i++) {
argv[i] = NULL;
}
isc_ratelimiter_create(loop, &zmgr->startupnotifyrl);
isc_ratelimiter_create(loop, &zmgr->startuprefreshrl);
- zmgr->mctxpool = isc_mem_getx(zmgr->mctx,
- zmgr->workers * sizeof(zmgr->mctxpool[0]),
- ISC_MEM_ZERO);
+ zmgr->mctxpool = isc_mem_cget(zmgr->mctx, zmgr->workers,
+ sizeof(zmgr->mctxpool[0]));
for (size_t i = 0; i < zmgr->workers; i++) {
isc_mem_create(&zmgr->mctxpool[i]);
isc_mem_setname(zmgr->mctxpool[i], "zonemgr-mctxpool");
isc_ratelimiter_detach(&zmgr->startupnotifyrl);
isc_ratelimiter_detach(&zmgr->startuprefreshrl);
- isc_mem_put(zmgr->mctx, zmgr->mctxpool,
- zmgr->workers * sizeof(zmgr->mctxpool[0]));
+ isc_mem_cput(zmgr->mctx, zmgr->mctxpool, zmgr->workers,
+ sizeof(zmgr->mctxpool[0]));
isc_rwlock_destroy(&zmgr->urlock);
isc_rwlock_destroy(&zmgr->rwlock);
zonecut = NULL;
count = dns_rdataset_count(&vctx->keyset);
- dstkeys = isc_mem_get(vctx->mctx, sizeof(*dstkeys) * count);
+ dstkeys = isc_mem_cget(vctx->mctx, count, sizeof(*dstkeys));
for (result = dns_rdataset_first(&vctx->keyset);
result == ISC_R_SUCCESS; result = dns_rdataset_next(&vctx->keyset))
while (nkeys-- > 0U) {
dst_key_free(&dstkeys[nkeys]);
}
- isc_mem_put(vctx->mctx, dstkeys, sizeof(*dstkeys) * count);
+ isc_mem_cput(vctx->mctx, dstkeys, count, sizeof(*dstkeys));
if (dbiter != NULL) {
dns_dbiterator_destroy(&dbiter);
}
if (*s == '\0') {
/* We have reached the end of the string. */
*argcp = n;
- *argvp = isc_mem_get(mctx, n * sizeof(char *));
+ *argvp = isc_mem_cget(mctx, n, sizeof(char *));
} else {
char *p = s;
while (*p != ' ' && *p != '\t' && *p != '\0' && *p != '{') {
REQUIRE(VALID_HEAP(heap));
if (heap->array != NULL) {
- isc_mem_put(heap->mctx, heap->array,
- heap->size * sizeof(void *));
+ isc_mem_cput(heap->mctx, heap->array, heap->size,
+ sizeof(void *));
}
heap->magic = 0;
isc_mem_putanddetach(&heap->mctx, heap, sizeof(*heap));
old_bytes = ISC_CHECKED_MUL(heap->size, sizeof(void *));
heap->size = new_size;
- heap->array = isc_mem_reget(heap->mctx, heap->array, old_bytes,
- new_bytes);
+ heap->array = isc_mem_creget(heap->mctx, heap->array, old_bytes,
+ new_bytes, sizeof(char));
}
static void
}
dbuf->dynamic = true;
} else {
- dbuf->base = isc_mem_reget(dbuf->mctx, dbuf->base, dbuf->length,
- len);
+ dbuf->base = isc_mem_creget(dbuf->mctx, dbuf->base,
+ dbuf->length, len, sizeof(char));
}
dbuf->length = (unsigned int)len;
}
if (lcfg->channellist_count > 0) {
- isc_mem_put(mctx, lcfg->channellists,
- lcfg->channellist_count *
- sizeof(ISC_LIST(isc_logchannellist_t)));
+ isc_mem_cput(mctx, lcfg->channellists, lcfg->channellist_count,
+ sizeof(ISC_LIST(isc_logchannellist_t)));
}
lcfg->dynamic = false;
isc_barrier_init(&loopmgr->starting, loopmgr->nloops);
isc_barrier_init(&loopmgr->stopping, loopmgr->nloops);
- loopmgr->loops = isc_mem_get(
- loopmgr->mctx, loopmgr->nloops * sizeof(loopmgr->loops[0]));
+ loopmgr->loops = isc_mem_cget(loopmgr->mctx, loopmgr->nloops,
+ sizeof(loopmgr->loops[0]));
for (size_t i = 0; i < loopmgr->nloops; i++) {
isc_loop_t *loop = &loopmgr->loops[i];
loop_init(loop, loopmgr, i);
isc_loop_t *loop = &loopmgr->loops[i];
loop_close(loop);
}
- isc_mem_put(loopmgr->mctx, loopmgr->loops,
- loopmgr->nloops * sizeof(loopmgr->loops[0]));
+ isc_mem_cput(loopmgr->mctx, loopmgr->loops, loopmgr->nloops,
+ sizeof(loopmgr->loops[0]));
isc_barrier_destroy(&loopmgr->starting);
isc_barrier_destroy(&loopmgr->stopping);
INSIST(nworkers > 0);
listener->h2.listener_endpoints =
- isc_mem_get(listener->worker->mctx,
- sizeof(isc_nm_http_endpoints_t *) * nworkers);
+ isc_mem_cget(listener->worker->mctx, nworkers,
+ sizeof(isc_nm_http_endpoints_t *));
listener->h2.n_listener_endpoints = nworkers;
for (size_t i = 0; i < nworkers; i++) {
listener->h2.listener_endpoints[i] = NULL;
isc_nm_http_endpoints_detach(
&listener->h2.listener_endpoints[i]);
}
- isc_mem_put(listener->worker->mctx, listener->h2.listener_endpoints,
- sizeof(isc_nm_http_endpoints_t *) *
- listener->h2.n_listener_endpoints);
+ isc_mem_cput(listener->worker->mctx, listener->h2.listener_endpoints,
+ listener->h2.n_listener_endpoints,
+ sizeof(isc_nm_http_endpoints_t *));
listener->h2.n_listener_endpoints = 0;
}
atomic_init(&netmgr->keepalive, 30000);
atomic_init(&netmgr->advertised, 30000);
- netmgr->workers =
- isc_mem_get(mctx, netmgr->nloops * sizeof(netmgr->workers[0]));
+ netmgr->workers = isc_mem_cget(mctx, netmgr->nloops,
+ sizeof(netmgr->workers[0]));
isc_loopmgr_teardown(loopmgr, netmgr_teardown, netmgr);
isc_mutex_destroy(&mgr->lock);
- isc_mem_put(mgr->mctx, mgr->workers,
- mgr->nloops * sizeof(mgr->workers[0]));
+ isc_mem_cput(mgr->mctx, mgr->workers, mgr->nloops,
+ sizeof(mgr->workers[0]));
isc_mem_putanddetach(&mgr->mctx, mgr, sizeof(*mgr));
}
/*
* Now free them.
*/
- isc_mem_put(sock->worker->mctx, sock->children,
- sock->nchildren * sizeof(*sock));
+ isc_mem_cput(sock->worker->mctx, sock->children,
+ sock->nchildren, sizeof(*sock));
sock->children = NULL;
sock->nchildren = 0;
}
(size_t)isc_loopmgr_nloops(listener->worker->netmgr->loopmgr);
INSIST(nworkers > 0);
- listener->tlsstream.listener_tls_ctx = isc_mem_get(
- listener->worker->mctx, sizeof(isc_tlsctx_t *) * nworkers);
+ listener->tlsstream.listener_tls_ctx = isc_mem_cget(
+ listener->worker->mctx, nworkers, sizeof(isc_tlsctx_t *));
listener->tlsstream.n_listener_tls_ctx = nworkers;
for (size_t i = 0; i < nworkers; i++) {
listener->tlsstream.listener_tls_ctx[i] = NULL;
for (size_t i = 0; i < listener->tlsstream.n_listener_tls_ctx; i++) {
isc_tlsctx_free(&listener->tlsstream.listener_tls_ctx[i]);
}
- isc_mem_put(listener->worker->mctx,
- listener->tlsstream.listener_tls_ctx,
- sizeof(isc_tlsctx_t *) *
- listener->tlsstream.n_listener_tls_ctx);
+ isc_mem_cput(
+ listener->worker->mctx, listener->tlsstream.listener_tls_ctx,
+ listener->tlsstream.n_listener_tls_ctx, sizeof(isc_tlsctx_t *));
listener->tlsstream.n_listener_tls_ctx = 0;
}
if (isc_refcount_decrement(&stats->references) == 1) {
isc_refcount_destroy(&stats->references);
- isc_mem_put(stats->mctx, stats->counters,
- sizeof(isc__atomic_statcounter_t) *
- stats->ncounters);
+ isc_mem_cput(stats->mctx, stats->counters, stats->ncounters,
+ sizeof(isc__atomic_statcounter_t));
isc_mem_putanddetach(&stats->mctx, stats, sizeof(*stats));
}
}
uint32_t counter = atomic_load_acquire(&stats->counters[i]);
atomic_store_release(&newcounters[i], counter);
}
- isc_mem_put(stats->mctx, stats->counters,
- sizeof(isc__atomic_statcounter_t) * stats->ncounters);
+ isc_mem_cput(stats->mctx, stats->counters, stats->ncounters,
+ sizeof(isc__atomic_statcounter_t));
stats->counters = newcounters;
stats->ncounters = ncounters;
}
symtab->mctx = NULL;
isc_mem_attach(mctx, &symtab->mctx);
- symtab->table = isc_mem_get(mctx, size * sizeof(eltlist_t));
+ symtab->table = isc_mem_cget(mctx, size, sizeof(eltlist_t));
for (i = 0; i < size; i++) {
INIT_LIST(symtab->table[i]);
}
isc_mem_put(symtab->mctx, elt, sizeof(*elt));
}
}
- isc_mem_put(symtab->mctx, symtab->table,
- symtab->size * sizeof(eltlist_t));
+ isc_mem_cput(symtab->mctx, symtab->table, symtab->size,
+ sizeof(eltlist_t));
symtab->magic = 0;
isc_mem_putanddetach(&symtab->mctx, symtab, sizeof(*symtab));
}
newmax = newsize * 3 / 4;
INSIST(newsize > 0U && newmax > 0U);
- newtable = isc_mem_get(symtab->mctx, newsize * sizeof(eltlist_t));
+ newtable = isc_mem_cget(symtab->mctx, newsize, sizeof(eltlist_t));
for (i = 0; i < newsize; i++) {
INIT_LIST(newtable[i]);
}
}
- isc_mem_put(symtab->mctx, symtab->table,
- symtab->size * sizeof(eltlist_t));
+ isc_mem_cput(symtab->mctx, symtab->table, symtab->size,
+ sizeof(eltlist_t));
symtab->table = newtable;
symtab->size = newsize;
RUNTIME_CHECK(OPENSSL_init_ssl(opts, NULL) == 1);
#else
nlocks = CRYPTO_num_locks();
- locks = isc_mem_getx(isc__tls_mctx, nlocks * sizeof(locks[0]),
- ISC_MEM_ZERO);
+ locks = isc_mem_cgetx(isc__tls_mctx, nlocks, sizeof(locks[0]),
+ ISC_MEM_ZERO);
isc_mutexblock_init(locks, nlocks);
CRYPTO_set_locking_callback(isc__tls_lock_callback);
CRYPTO_THREADID_set_callback(isc__tls_set_thread_id);
if (locks != NULL) {
isc_mutexblock_destroy(locks, nlocks);
- isc_mem_put(isc__tls_mctx, locks, nlocks * sizeof(locks[0]));
+ isc_mem_cput(isc__tls_mctx, locks, nlocks, sizeof(locks[0]));
locks = NULL;
}
#endif
goto resume;
}
if (stack != NULL) {
- isc_mem_put(mctx, stack, stackcount * sizeof(*stack));
+ isc_mem_cput(mctx, stack, stackcount, sizeof(*stack));
}
isc_symtab_destroy(&symtab);
*countp = count;
}
CHECK(cfg_create_obj(pctx, type, &obj));
- obj->value.tuple = isc_mem_get(pctx->mctx,
- nfields * sizeof(cfg_obj_t *));
+ obj->value.tuple = isc_mem_cget(pctx->mctx, nfields,
+ sizeof(cfg_obj_t *));
for (f = fields, i = 0; f->name != NULL; f++, i++) {
obj->value.tuple[i] = NULL;
}
CLEANUP_OBJ(obj->value.tuple[i]);
nfields++;
}
- isc_mem_put(pctx->mctx, obj->value.tuple,
- nfields * sizeof(cfg_obj_t *));
+ isc_mem_cput(pctx->mctx, obj->value.tuple, nfields,
+ sizeof(cfg_obj_t *));
}
bool
if (isc_buffer_base(buffer) == client->tcpbuf) {
size_t used = isc_buffer_usedlength(buffer);
- client->tcpbuf = isc_mem_reget(client->manager->mctx,
- client->tcpbuf,
- client->tcpbuf_size, used);
+ client->tcpbuf =
+ isc_mem_creget(client->manager->mctx, client->tcpbuf,
+ client->tcpbuf_size, used, sizeof(char));
client->tcpbuf_size = used;
r.base = client->tcpbuf;
r.length = used;
mgr->magic = IFMGR_MAGIC;
*mgrp = mgr;
- mgr->clientmgrs = isc_mem_get(mgr->mctx,
- mgr->ncpus * sizeof(mgr->clientmgrs[0]));
+ mgr->clientmgrs = isc_mem_cget(mgr->mctx, mgr->ncpus,
+ sizeof(mgr->clientmgrs[0]));
for (size_t i = 0; i < mgr->ncpus; i++) {
result = ns_clientmgr_create(mgr->sctx, mgr->loopmgr,
mgr->aclenv, (int)i,
for (size_t i = 0; i < mgr->ncpus; i++) {
ns_clientmgr_detach(&mgr->clientmgrs[i]);
}
- isc_mem_put(mgr->mctx, mgr->clientmgrs,
- mgr->ncpus * sizeof(mgr->clientmgrs[0]));
+ isc_mem_cput(mgr->mctx, mgr->clientmgrs, mgr->ncpus,
+ sizeof(mgr->clientmgrs[0]));
if (mgr->sctx != NULL) {
ns_server_detach(&mgr->sctx);
ns_client_putrdataset(client, &client->query.dns64_sigaaaa);
}
if (client->query.dns64_aaaaok != NULL) {
- isc_mem_put(client->manager->mctx, client->query.dns64_aaaaok,
- client->query.dns64_aaaaoklen * sizeof(bool));
+ isc_mem_cput(client->manager->mctx, client->query.dns64_aaaaok,
+ client->query.dns64_aaaaoklen, sizeof(bool));
client->query.dns64_aaaaok = NULL;
client->query.dns64_aaaaoklen = 0;
}
}
count = dns_rdataset_count(rdataset);
- aaaaok = isc_mem_get(client->manager->mctx, sizeof(bool) * count);
+ aaaaok = isc_mem_cget(client->manager->mctx, count, sizeof(bool));
isc_netaddr_fromsockaddr(&netaddr, &client->peeraddr);
if (dns_dns64_aaaaok(dns64, &netaddr, client->signer, env, flags,
}
}
if (aaaaok != NULL) {
- isc_mem_put(client->manager->mctx, aaaaok,
- sizeof(bool) * count);
+ isc_mem_cput(client->manager->mctx, aaaaok, count,
+ sizeof(bool));
}
return (true);
}
if (aaaaok != NULL) {
- isc_mem_put(client->manager->mctx, aaaaok,
- sizeof(bool) * count);
+ isc_mem_cput(client->manager->mctx, aaaaok, count,
+ sizeof(bool));
}
return (false);
}
*/
if (ssutable != NULL) {
ruleslen = request->counts[DNS_SECTION_UPDATE];
- rules = isc_mem_getx(mctx, sizeof(*rules) * ruleslen,
- ISC_MEM_ZERO);
+ rules = isc_mem_cget(mctx, ruleslen, sizeof(*rules));
}
for (rule = 0,
}
if (rules != NULL) {
- isc_mem_put(mctx, rules, sizeof(*rules) * ruleslen);
+ isc_mem_cput(mctx, rules, ruleslen, sizeof(*rules));
}
if (ssutable != NULL) {
}
if (rules != NULL) {
- isc_mem_put(mctx, rules, sizeof(*rules) * ruleslen);
+ isc_mem_cput(mctx, rules, ruleslen, sizeof(*rules));
}
if (ssutable != NULL) {
setup_loopmgr(state);
- nm = isc_mem_get(mctx, MAX_NM * sizeof(nm[0]));
+ nm = isc_mem_cget(mctx, MAX_NM, sizeof(nm[0]));
for (size_t i = 0; i < MAX_NM; i++) {
isc_netmgr_create(mctx, loopmgr, &nm[i]);
assert_non_null(nm[i]);
isc_netmgr_destroy(&nm[i]);
assert_null(nm[i]);
}
- isc_mem_put(mctx, nm, MAX_NM * sizeof(nm[0]));
+ isc_mem_cput(mctx, nm, MAX_NM, sizeof(nm[0]));
teardown_loopmgr(state);
isc_result_t result;
test_node_t *nodes, *long_nodes, *upper_nodes;
- nodes = isc_mem_get(mctx, count * sizeof(nodes[0]));
- long_nodes = isc_mem_get(mctx, count * sizeof(nodes[0]));
- upper_nodes = isc_mem_get(mctx, count * sizeof(nodes[0]));
+ nodes = isc_mem_cget(mctx, count, sizeof(nodes[0]));
+ long_nodes = isc_mem_cget(mctx, count, sizeof(nodes[0]));
+ upper_nodes = isc_mem_cget(mctx, count, sizeof(nodes[0]));
isc_hashmap_create(mctx, init_bits, ISC_HASHMAP_CASE_SENSITIVE,
&hashmap);
isc_hashmap_destroy(&hashmap);
assert_null(hashmap);
- isc_mem_put(mctx, nodes, count * sizeof(nodes[0]));
- isc_mem_put(mctx, long_nodes, count * sizeof(nodes[0]));
- isc_mem_put(mctx, upper_nodes, count * sizeof(nodes[0]));
+ isc_mem_cput(mctx, nodes, count, sizeof(nodes[0]));
+ isc_mem_cput(mctx, long_nodes, count, sizeof(nodes[0]));
+ isc_mem_cput(mctx, upper_nodes, count, sizeof(nodes[0]));
}
static void
size_t tksize;
test_node_t *nodes;
- nodes = isc_mem_get(mctx, count * sizeof(nodes[0]));
+ nodes = isc_mem_cget(mctx, count, sizeof(nodes[0]));
isc_hashmap_create(mctx, HASHMAP_MIN_BITS, ISC_HASHMAP_CASE_SENSITIVE,
&hashmap);
isc_hashmap_destroy(&hashmap);
assert_null(hashmap);
- isc_mem_put(mctx, nodes, count * sizeof(nodes[0]));
+ isc_mem_cput(mctx, nodes, count, sizeof(nodes[0]));
}
/* 1 bit, 120 elements test, full rehashing */
}
ISC_RUN_TEST_IMPL(isc_mutex_benchmark) {
- isc_thread_t *threads = isc_mem_get(mctx, sizeof(*threads) * workers);
+ isc_thread_t *threads = isc_mem_cget(mctx, workers, sizeof(*threads));
isc_time_t ts1, ts2;
double t;
int dc;
isc_mutex_destroy(&lock);
- isc_mem_put(mctx, threads, sizeof(*threads) * workers);
+ isc_mem_cput(mctx, threads, workers, sizeof(*threads));
}
ISC_TEST_LIST_START
assert_true(numblocks < 100);
assert_true(numbits >= (mbits * numblocks));
- pi = isc_mem_get(mctx, numblocks * sizeof(double));
+ pi = isc_mem_cget(mctx, numblocks, sizeof(double));
assert_non_null(pi);
for (i = 0; i < numblocks; i++) {
chi_square *= 4 * mbits;
- isc_mem_put(mctx, pi, numblocks * sizeof(double));
+ isc_mem_cput(mctx, pi, numblocks, sizeof(double));
p_value = igamc(numblocks * 0.5, chi_square * 0.5);
}
assert_int_not_equal(delay_loop, 0);
- rnd = isc_mem_get(mctx, loops * sizeof(rnd[0]));
+ rnd = isc_mem_cget(mctx, loops, sizeof(rnd[0]));
for (size_t i = 0; i < loops; i++) {
rnd[i] = (uint8_t)isc_random_uniform(100);
}
static int
teardown_env(void **state __attribute__((__unused__))) {
- isc_mem_put(mctx, rnd, loops * sizeof(rnd[0]));
+ isc_mem_cput(mctx, rnd, loops, sizeof(rnd[0]));
return (0);
}
}
ISC_RUN_TEST_IMPL(isc_rwlock_benchmark) {
- isc_thread_t *threads = isc_mem_get(mctx, sizeof(*threads) * workers);
+ isc_thread_t *threads = isc_mem_cget(mctx, workers, sizeof(*threads));
memset(threads, 0, sizeof(*threads) * workers);
isc__rwlock_benchmark(threads, nthreads, 100);
}
- isc_mem_put(mctx, threads, sizeof(*threads) * workers);
+ isc_mem_cput(mctx, threads, workers, sizeof(*threads));
}
ISC_TEST_LIST_START
}
ISC_RUN_TEST_IMPL(isc_spinlock_benchmark) {
- isc_thread_t *threads = isc_mem_get(mctx, sizeof(*threads) * workers);
+ isc_thread_t *threads = isc_mem_cget(mctx, workers, sizeof(*threads));
isc_time_t ts1, ts2;
double t;
int dc;
isc_spinlock_destroy(&lock);
- isc_mem_put(mctx, threads, sizeof(*threads) * workers);
+ isc_mem_cput(mctx, threads, workers, sizeof(*threads));
}
ISC_TEST_LIST_START