cur->ai_family != AF_INET6) {
continue;
}
- sa = isc_mem_get(mctx, sizeof(*sa));
- memset(sa, 0, sizeof(*sa));
+ sa = isc_mem_getx(mctx, sizeof(*sa), ISC_MEM_ZERO);
ISC_LINK_INIT(sa, link);
memmove(&sa->type, cur->ai_addr, cur->ai_addrlen);
sa->length = (unsigned int)cur->ai_addrlen;
fatal("invalid prefix '%s'\n", value);
}
- sa = isc_mem_allocate(mctx, sizeof(*sa));
- memset(sa, 0, sizeof(*sa));
+ sa = isc_mem_allocatex(mctx, sizeof(*sa), ISC_MEM_ZERO);
if (strcmp(buf, "0") == 0) {
sa->type.sa.sa_family = AF_UNSPEC;
dns_secalg_t *algo;
int i;
- algo = isc_mem_get(mctx, nkey);
- memset(algo, 0, nkey);
+ algo = isc_mem_getx(mctx, nkey, ISC_MEM_ZERO);
for (result = dns_rdataset_first(sigset); result == ISC_R_SUCCESS;
result = dns_rdataset_next(sigset))
* There is more work to do. Spread it out over multiple
* processors if possible.
*/
- tasks = isc_mem_get(mctx, ntasks * sizeof(isc_task_t *));
- memset(tasks, 0, ntasks * sizeof(isc_task_t *));
+ tasks = isc_mem_getx(mctx, ntasks * sizeof(isc_task_t *),
+ ISC_MEM_ZERO);
isc_loopmgr_setup(loopmgr, startworker, tasks);
isc_loopmgr_teardown(loopmgr, workerdone, tasks);
oldlen = newlen + 16; \
}
-#define shrink_array(mctx, array, newlen, oldlen) \
- if (newlen < oldlen) { \
- void *tmp = NULL; \
- size_t newsize = newlen * sizeof(array[0]); \
- size_t oldsize = oldlen * sizeof(array[0]); \
- if (newlen != 0) { \
- tmp = isc_mem_get(mctx, newsize); \
- memset(tmp, 0, newsize); \
- memmove(tmp, array, newsize); \
- } else { \
- tmp = NULL; \
- } \
- isc_mem_put(mctx, array, oldsize); \
- array = tmp; \
- oldlen = newlen; \
+#define shrink_array(mctx, array, newlen, oldlen) \
+ if (newlen < oldlen) { \
+ void *tmp = NULL; \
+ size_t newsize = newlen * sizeof(array[0]); \
+ size_t oldsize = oldlen * sizeof(array[0]); \
+ if (newlen != 0) { \
+ tmp = isc_mem_getx(mctx, newsize, ISC_MEM_ZERO); \
+ memmove(tmp, array, newsize); \
+ } else { \
+ tmp = NULL; \
+ } \
+ isc_mem_put(mctx, array, oldsize); \
+ array = tmp; \
+ oldlen = newlen; \
}
isc_result_t
}
isc_mem_create(&mctx);
- cd = isc_mem_get(mctx, sizeof(*cd));
- memset(cd, 0, sizeof(*cd));
+ cd = isc_mem_getx(mctx, sizeof(*cd), ISC_MEM_ZERO);
cd->mctx = mctx;
ns_alloc = MAX_SERVERADDRS;
ns_inuse = 0;
- servers = isc_mem_get(gmctx, ns_alloc * sizeof(isc_sockaddr_t));
-
- memset(servers, 0, ns_alloc * sizeof(isc_sockaddr_t));
+ servers = isc_mem_getx(gmctx, ns_alloc * sizeof(isc_sockaddr_t),
+ ISC_MEM_ZERO);
ns_total = get_addresses(server, (in_port_t)port, servers, ns_alloc);
if (ns_total == 0) {
return (STATUS_SYNTAX);
}
primary_alloc = MAX_SERVERADDRS;
size = primary_alloc * sizeof(isc_sockaddr_t);
- primary_servers = isc_mem_get(gmctx, size);
-
- memset(primary_servers, 0, size);
+ primary_servers = isc_mem_getx(gmctx, size, ISC_MEM_ZERO);
primary_total = get_addresses(serverstr, dnsport,
primary_servers, primary_alloc);
if (primary_total == 0) {
"module from %s:%lu, %s parameters",
cfg_file, cfg_line, parameters != NULL ? "with" : "no");
- inst = isc_mem_get(mctx, sizeof(*inst));
- memset(inst, 0, sizeof(*inst));
+ inst = isc_mem_getx(mctx, sizeof(*inst), ISC_MEM_ZERO);
isc_mem_attach(mctx, &inst->mctx);
if (parameters != NULL) {
"module from %s:%lu, %s parameters",
cfg_file, cfg_line, parameters != NULL ? "with" : "no");
- inst = isc_mem_get(mctx, sizeof(*inst));
- memset(inst, 0, sizeof(*inst));
+ inst = isc_mem_getx(mctx, sizeof(*inst), ISC_MEM_ZERO);
isc_mem_attach(mctx, &inst->mctx);
if (parameters != NULL) {
--- /dev/null
+@@
+expression ptr, ctx, size;
+@@
+
+- ptr = isc_mem_get(ctx, size);
++ ptr = isc_mem_getx(ctx, size, ISC_MEM_ZERO);
+...
+- memset(ptr, 0, size);
+
+@@
+expression ptr, ctx, size;
+@@
+
+- ptr = isc_mem_allocate(ctx, size);
++ ptr = isc_mem_allocatex(ctx, size, ISC_MEM_ZERO);
+...
+- memset(ptr, 0, size);
*/
acl->magic = DNS_ACL_MAGIC;
- acl->elements = isc_mem_get(mctx, n * sizeof(dns_aclelement_t));
+ acl->elements = isc_mem_getx(mctx, n * sizeof(dns_aclelement_t),
+ ISC_MEM_ZERO);
acl->alloc = n;
- memset(acl->elements, 0, n * sizeof(dns_aclelement_t));
ISC_LIST_INIT(acl->ports_and_transports);
acl->port_proto_entries = 0;
newalloc = 4;
}
- newmem = isc_mem_get(dest->mctx,
- newalloc * sizeof(dns_aclelement_t));
-
- /* Zero. */
- memset(newmem, 0, newalloc * sizeof(dns_aclelement_t));
+ newmem = isc_mem_getx(dest->mctx,
+ newalloc * sizeof(dns_aclelement_t),
+ ISC_MEM_ZERO);
/* Copy in the original elements */
memmove(newmem, dest->elements,
REQUIRE(bcp != NULL && *bcp == NULL);
REQUIRE(mctx != NULL);
- bc = isc_mem_get(mctx, sizeof(dns_badcache_t));
- memset(bc, 0, sizeof(dns_badcache_t));
+ bc = isc_mem_getx(mctx, sizeof(dns_badcache_t), ISC_MEM_ZERO);
isc_mem_attach(mctx, &bc->mctx);
isc_rwlock_init(&bc->lock, 0, 0);
}
RUNTIME_CHECK(newsize > 0);
- newtable = isc_mem_get(bc->mctx, sizeof(dns_bcentry_t *) * newsize);
- memset(newtable, 0, sizeof(dns_bcentry_t *) * newsize);
+ newtable = isc_mem_getx(bc->mctx, sizeof(dns_bcentry_t *) * newsize,
+ ISC_MEM_ZERO);
newlocks = isc_mem_get(bc->mctx, sizeof(isc_mutex_t) * newsize);
REQUIRE(catzsp != NULL && *catzsp == NULL);
REQUIRE(zmm != NULL);
- new_zones = isc_mem_get(mctx, sizeof(*new_zones));
- memset(new_zones, 0, sizeof(*new_zones));
+ new_zones = isc_mem_getx(mctx, sizeof(*new_zones), ISC_MEM_ZERO);
isc_mutex_init(&new_zones->lock);
REQUIRE(zonep != NULL && *zonep == NULL);
REQUIRE(ISC_MAGIC_VALID(name, DNS_NAME_MAGIC));
- new_zone = isc_mem_get(catzs->mctx, sizeof(*new_zone));
-
- memset(new_zone, 0, sizeof(*new_zone));
+ new_zone = isc_mem_getx(catzs->mctx, sizeof(*new_zone), ISC_MEM_ZERO);
dns_name_init(&new_zone->name, NULL);
dns_name_dup(name, catzs->mctx, &new_zone->name);
}
/* Allocate memory to hold the DLZ database driver */
- db = isc_mem_get(mctx, sizeof(dns_dlzdb_t));
-
- /* Make sure memory region is set to all 0's */
- memset(db, 0, sizeof(dns_dlzdb_t));
+ db = isc_mem_getx(mctx, sizeof(dns_dlzdb_t), ISC_MEM_ZERO);
ISC_LINK_INIT(db, link);
db->implementation = impinfo;
* Allocate memory for a dlz_implementation object. Error if
* we cannot.
*/
- dlz_imp = isc_mem_get(mctx, sizeof(dns_dlzimplementation_t));
-
- /* Make sure memory region is set to all 0's */
- memset(dlz_imp, 0, sizeof(dns_dlzimplementation_t));
+ dlz_imp = isc_mem_getx(mctx, sizeof(dns_dlzimplementation_t),
+ ISC_MEM_ZERO);
/* Store the data passed into this method */
dlz_imp->name = drivername;
isc_mem_t *mctx, bool have_rd) {
rpsdb_t *rpsdb;
- rpsdb = isc_mem_get(mctx, sizeof(*rpsdb));
- memset(rpsdb, 0, sizeof(*rpsdb));
+ rpsdb = isc_mem_getx(mctx, sizeof(*rpsdb), ISC_MEM_ZERO);
if (!librpz->rsp_create(emsg, &rpsdb->rsp, NULL, rpzs->rps_client,
have_rd, false))
REQUIRE(VALID_RPSDB(rpsdb));
REQUIRE(node == &rpsdb->origin_node || node == &rpsdb->data_node);
- rpsdb_iter = isc_mem_get(rpsdb->common.mctx, sizeof(*rpsdb_iter));
-
- memset(rpsdb_iter, 0, sizeof(*rpsdb_iter));
+ rpsdb_iter = isc_mem_getx(rpsdb->common.mctx, sizeof(*rpsdb_iter),
+ ISC_MEM_ZERO);
rpsdb_iter->common.magic = DNS_RDATASETITER_MAGIC;
rpsdb_iter->common.methods = &rpsdb_rdatasetiter_methods;
rpsdb_iter->common.db = db;
atomic_fetch_add_release(&global_generation, 1);
- env = isc_mem_get(mctx, sizeof(dns_dtenv_t));
-
- memset(env, 0, sizeof(dns_dtenv_t));
+ env = isc_mem_getx(mctx, sizeof(dns_dtenv_t), ISC_MEM_ZERO);
isc_mem_attach(mctx, &env->mctx);
env->reopen_task = reopen_task;
isc_mutex_init(&env->reopen_lock);
REQUIRE(src != NULL);
REQUIRE(destp != NULL && *destp == NULL);
- d = isc_mem_get(mctx, sizeof(*d));
-
- memset(d, 0, sizeof(*d));
+ d = isc_mem_getx(mctx, sizeof(*d), ISC_MEM_ZERO);
isc_mem_attach(mctx, &d->mctx);
d->frame = dnstap__dnstap__unpack(NULL, src->length, src->base);
return (DST_R_NULLKEY);
}
- dctx = isc_mem_get(mctx, sizeof(dst_context_t));
- memset(dctx, 0, sizeof(*dctx));
+ dctx = isc_mem_getx(mctx, sizeof(*dctx), ISC_MEM_ZERO);
dst_key_attach(key, &dctx->key);
isc_mem_attach(mctx, &dctx->mctx);
dctx->category = category;
dst_key_t *key;
int i;
- key = isc_mem_get(mctx, sizeof(dst_key_t));
-
- memset(key, 0, sizeof(dst_key_t));
+ key = isc_mem_getx(mctx, sizeof(dst_key_t), ISC_MEM_ZERO);
key->key_name = isc_mem_get(mctx, sizeof(dns_name_t));
ISC_LOG_INFO, "loading DynDB instance '%s' driver '%s'",
instname, filename);
- imp = isc_mem_get(mctx, sizeof(*imp));
- memset(imp, 0, sizeof(*imp));
+ imp = isc_mem_getx(mctx, sizeof(*imp), ISC_MEM_ZERO);
isc_mem_attach(mctx, &imp->mctx);
imp->name = isc_mem_strdup(imp->mctx, instname);
REQUIRE(dctxp != NULL && *dctxp == NULL);
- dctx = isc_mem_get(mctx, sizeof(*dctx));
-
- memset(dctx, 0, sizeof(*dctx));
+ dctx = isc_mem_getx(mctx, sizeof(*dctx), ISC_MEM_ZERO);
if (view != NULL) {
dns_view_attach(view, &dctx->view);
}
size = sizeof(journal_rawheader_t) +
index_size * sizeof(journal_rawpos_t);
- mem = isc_mem_get(mctx, size);
- memset(mem, 0, size);
+ mem = isc_mem_getx(mctx, size, ISC_MEM_ZERO);
memmove(mem, &rawheader, sizeof(rawheader));
result = isc_stdio_write(mem, 1, (size_t)size, fp, NULL);
* Allocate space for the node structure, the name, and the offsets.
*/
nodelen = sizeof(dns_rbtnode_t) + region.length + labels + 1;
- node = isc_mem_get(mctx, nodelen);
- memset(node, 0, nodelen);
+ node = isc_mem_getx(mctx, nodelen, ISC_MEM_ZERO);
node->is_root = 0;
node->parent = NULL;
rbt->hashbits[index] = bits;
size = ISC_HASHSIZE(rbt->hashbits[index]) * sizeof(dns_rbtnode_t *);
- rbt->hashtable[index] = isc_mem_get(rbt->mctx, size);
- memset(rbt->hashtable[index], 0, size);
+ rbt->hashtable[index] = isc_mem_getx(rbt->mctx, size, ISC_MEM_ZERO);
}
static void
size = ISC_HASHSIZE(version->glue_table_bits) *
sizeof(version->glue_table[0]);
- version->glue_table = isc_mem_get(mctx, size);
- memset(version->glue_table, 0, size);
+ version->glue_table = isc_mem_getx(mctx, size, ISC_MEM_ZERO);
version->writer = writer;
version->commit_ok = false;
/* Keep the compiler happy. */
UNUSED(driverarg);
- rbtdb = isc_mem_get(mctx, sizeof(*rbtdb));
+ rbtdb = isc_mem_getx(mctx, sizeof(*rbtdb), ISC_MEM_ZERO);
/*
* If argv[0] exists, it points to a memory context to use for heap
hmctx = (isc_mem_t *)argv[0];
}
- memset(rbtdb, '\0', sizeof(*rbtdb));
dns_name_init(&rbtdb->common.origin, NULL);
rbtdb->common.attributes = 0;
if (type == dns_dbtype_cache) {
newbits = rehash_bits(version, version->glue_table_nodecount);
newsize = ISC_HASHSIZE(newbits) * sizeof(version->glue_table[0]);
- version->glue_table = isc_mem_get(version->rbtdb->common.mctx, newsize);
+ version->glue_table = isc_mem_getx(version->rbtdb->common.mctx, newsize,
+ ISC_MEM_ZERO);
version->glue_table_bits = newbits;
- memset(version->glue_table, 0, newsize);
for (i = 0; i < oldcount; i++) {
rbtdb_glue_table_node_t *gluenode;
* Allocate the memory, set up a buffer, start copying in
* data.
*/
- rawbuf = isc_mem_get(mctx, buflen);
+ rawbuf = isc_mem_getx(mctx, buflen, ISC_MEM_ZERO);
#if DNS_RDATASET_FIXED
/* Allocate temporary offset table. */
- offsettable = isc_mem_get(mctx, nalloc * sizeof(unsigned int));
- memset(offsettable, 0, nalloc * sizeof(unsigned int));
+ offsettable = isc_mem_getx(mctx, nalloc * sizeof(unsigned int),
+ ISC_MEM_ZERO);
#endif /* if DNS_RDATASET_FIXED */
region->base = rawbuf;
region->length = buflen;
- memset(rawbuf, 0, buflen);
rawbuf += reservelen;
#if DNS_RDATASET_FIXED
*/
tcurrent += (tcount * 4);
- offsettable = isc_mem_get(mctx,
- (ocount + oncount) * sizeof(unsigned int));
- memset(offsettable, 0, (ocount + oncount) * sizeof(unsigned int));
+ offsettable = isc_mem_getx(
+ mctx, (ocount + oncount) * sizeof(unsigned int), ISC_MEM_ZERO);
#endif /* if DNS_RDATASET_FIXED */
/*
#if DNS_RDATASET_FIXED
offsetbase = tcurrent;
- offsettable = isc_mem_get(mctx, mcount * sizeof(unsigned int));
- memset(offsettable, 0, mcount * sizeof(unsigned int));
+ offsettable = isc_mem_getx(mctx, mcount * sizeof(unsigned int),
+ ISC_MEM_ZERO);
#endif /* if DNS_RDATASET_FIXED */
/*
goto cleanup_res;
}
- res->tasks = isc_mem_get(view->mctx,
- res->ntasks * sizeof(res->tasks[0]));
- memset(res->tasks, 0, res->ntasks * sizeof(res->tasks[0]));
+ res->tasks = isc_mem_getx(
+ view->mctx, res->ntasks * sizeof(res->tasks[0]), ISC_MEM_ZERO);
for (uint32_t i = 0; i < res->ntasks; i++) {
/*
* Since we have a pool of tasks we bind them to task
* bitfield and copy the old (smaller) bitfield
* into it if one exists.
*/
- tmp = isc_mem_get(resolver->mctx, len);
- memset(tmp, 0, len);
+ tmp = isc_mem_getx(resolver->mctx, len, ISC_MEM_ZERO);
if (algorithms != NULL) {
memmove(tmp, algorithms, *algorithms);
}
* bitfield and copy the old (smaller) bitfield
* into it if one exists.
*/
- tmp = isc_mem_get(resolver->mctx, len);
- memset(tmp, 0, len);
+ tmp = isc_mem_getx(resolver->mctx, len, ISC_MEM_ZERO);
if (digests != NULL) {
memmove(tmp, digests, *digests);
}
bsize = sizeof(dns_rrl_block_t) +
(newsize - 1) * sizeof(dns_rrl_entry_t);
- b = isc_mem_get(rrl->mctx, bsize);
- memset(b, 0, bsize);
+ b = isc_mem_getx(rrl->mctx, bsize, ISC_MEM_ZERO);
b->size = bsize;
e = b->entries;
new_bins = hash_divisor(new_bins);
hsize = sizeof(dns_rrl_hash_t) + (new_bins - 1) * sizeof(hash->bins[0]);
- hash = isc_mem_get(rrl->mctx, hsize);
- memset(hash, 0, hsize);
+ hash = isc_mem_getx(rrl->mctx, hsize, ISC_MEM_ZERO);
hash->length = new_bins;
rrl->hash_gen ^= 1;
hash->gen = rrl->hash_gen;
if (qbuf != NULL) {
ISC_LIST_UNLINK(rrl->qname_free, qbuf, link);
} else if (rrl->num_qnames < DNS_RRL_QNAMES) {
- qbuf = isc_mem_get(rrl->mctx, sizeof(*qbuf));
+ qbuf = isc_mem_getx(rrl->mctx, sizeof(*qbuf),
+ ISC_MEM_ZERO);
{
- memset(qbuf, 0, sizeof(*qbuf));
ISC_LINK_INIT(qbuf, link);
qbuf->index = rrl->num_qnames;
rrl->qnames[rrl->num_qnames++] = qbuf;
*rrlp = NULL;
- rrl = isc_mem_get(view->mctx, sizeof(*rrl));
- memset(rrl, 0, sizeof(*rrl));
+ rrl = isc_mem_getx(view->mctx, sizeof(*rrl), ISC_MEM_ZERO);
isc_mem_attach(view->mctx, &rrl->mctx);
isc_mutex_init(&rrl->lock);
isc_stdtime_get(&rrl->ts_bases[0]);
return (ISC_R_NOTIMPLEMENTED);
}
- sdb = isc_mem_get(mctx, sizeof(dns_sdb_t));
- memset(sdb, 0, sizeof(dns_sdb_t));
+ sdb = isc_mem_getx(mctx, sizeof(dns_sdb_t), ISC_MEM_ZERO);
dns_name_init(&sdb->common.origin, NULL);
sdb->common.attributes = 0;
imp = (dns_sdlzimplementation_t *)driverarg;
/* allocate and zero memory for driver structure */
- sdlzdb = isc_mem_get(mctx, sizeof(dns_sdlz_db_t));
- memset(sdlzdb, 0, sizeof(dns_sdlz_db_t));
+ sdlzdb = isc_mem_getx(mctx, sizeof(dns_sdlz_db_t), ISC_MEM_ZERO);
/* initialize and set origin */
dns_name_init(&sdlzdb->common.origin, NULL);
* Allocate memory for a sdlz_implementation object. Error if
* we cannot.
*/
- imp = isc_mem_get(mctx, sizeof(dns_sdlzimplementation_t));
-
- /* Make sure memory region is set to all 0's */
- memset(imp, 0, sizeof(dns_sdlzimplementation_t));
+ imp = isc_mem_getx(mctx, sizeof(dns_sdlzimplementation_t),
+ ISC_MEM_ZERO);
/* Store the data passed into this method */
imp->methods = methods;
RWLOCK(&mgmt->lock, isc_rwlocktype_write);
- newtable = isc_mem_get(mgmt->mctx, sizeof(dns_keyfileio_t *) * newsize);
- memset(newtable, 0, sizeof(dns_keyfileio_t *) * newsize);
+ newtable = isc_mem_getx(mgmt->mctx, sizeof(dns_keyfileio_t *) * newsize,
+ ISC_MEM_ZERO);
for (unsigned int i = 0; i < size; i++) {
dns_keyfileio_t *kfio, *next;
isc_ratelimiter_create(loop, &zmgr->startupnotifyrl);
isc_ratelimiter_create(loop, &zmgr->startuprefreshrl);
- zmgr->zonetasks = isc_mem_get(
- zmgr->mctx, zmgr->workers * sizeof(zmgr->zonetasks[0]));
- memset(zmgr->zonetasks, 0, zmgr->workers * sizeof(zmgr->zonetasks[0]));
+ zmgr->zonetasks = isc_mem_getx(
+ zmgr->mctx, zmgr->workers * sizeof(zmgr->zonetasks[0]),
+ ISC_MEM_ZERO);
for (size_t i = 0; i < zmgr->workers; i++) {
result = isc_task_create(zmgr->taskmgr, &zmgr->zonetasks[i], i);
INSIST(result == ISC_R_SUCCESS);
isc_task_setname(zmgr->zonetasks[i], "zonemgr-zonetasks", NULL);
}
- zmgr->loadtasks = isc_mem_get(
- zmgr->mctx, zmgr->workers * sizeof(zmgr->loadtasks[0]));
- memset(zmgr->loadtasks, 0, zmgr->workers * sizeof(zmgr->loadtasks[0]));
+ zmgr->loadtasks = isc_mem_getx(
+ zmgr->mctx, zmgr->workers * sizeof(zmgr->loadtasks[0]),
+ ISC_MEM_ZERO);
for (size_t i = 0; i < zmgr->workers; i++) {
result = isc_task_create(zmgr->taskmgr, &zmgr->loadtasks[i], i);
INSIST(result == ISC_R_SUCCESS);
isc_task_setname(zmgr->loadtasks[i], "zonemgr-loadtasks", NULL);
}
- zmgr->mctxpool = isc_mem_get(zmgr->mctx,
- zmgr->workers * sizeof(zmgr->mctxpool[0]));
- memset(zmgr->mctxpool, 0, zmgr->workers * sizeof(zmgr->mctxpool[0]));
+ zmgr->mctxpool = isc_mem_getx(zmgr->mctx,
+ zmgr->workers * sizeof(zmgr->mctxpool[0]),
+ ISC_MEM_ZERO);
for (size_t i = 0; i < zmgr->workers; i++) {
isc_mem_create(&zmgr->mctxpool[i]);
isc_mem_setname(zmgr->mctxpool[i], "zonemgr-mctxpool");
len = sizeof(*element) + nsec3->next_length * 2 + nsec3->salt_length;
- element = isc_mem_get(vctx->mctx, len);
- memset(element, 0, len);
+ element = isc_mem_getx(vctx->mctx, len, ISC_MEM_ZERO);
element->hash = nsec3->hash;
element->salt_length = nsec3->salt_length;
element->next_length = nsec3->next_length;
size = ht->size[idx] * sizeof(isc_ht_node_t *);
- ht->table[idx] = isc_mem_get(ht->mctx, size);
- memset(ht->table[idx], 0, size);
+ ht->table[idx] = isc_mem_getx(ht->mctx, size, ISC_MEM_ZERO);
}
static void
bytes = lctx->category_count * sizeof(ISC_LIST(isc_logchannellist_t));
- lists = isc_mem_get(lctx->mctx, bytes);
-
- memset(lists, 0, bytes);
+ lists = isc_mem_getx(lctx->mctx, bytes, ISC_MEM_ZERO);
if (lcfg->channellist_count != 0) {
bytes = lcfg->channellist_count *
sock->nchildren = (workers == ISC_NM_LISTEN_ALL) ? (uint32_t)mgr->nloops
: workers;
children_size = sock->nchildren * sizeof(sock->children[0]);
- sock->children = isc_mem_get(worker->mctx, children_size);
- memset(sock->children, 0, children_size);
+ sock->children = isc_mem_getx(worker->mctx, children_size,
+ ISC_MEM_ZERO);
isc_barrier_init(&sock->barrier, sock->nchildren);
sock->nchildren = (workers == ISC_NM_LISTEN_ALL) ? (uint32_t)mgr->nloops
: workers;
children_size = sock->nchildren * sizeof(sock->children[0]);
- sock->children = isc_mem_get(worker->mctx, children_size);
- memset(sock->children, 0, children_size);
+ sock->children = isc_mem_getx(worker->mctx, children_size,
+ ISC_MEM_ZERO);
isc_barrier_init(&sock->barrier, sock->nchildren);
sock->nchildren = (workers == ISC_NM_LISTEN_ALL) ? (uint32_t)mgr->nloops
: workers;
children_size = sock->nchildren * sizeof(sock->children[0]);
- sock->children = isc_mem_get(worker->mctx, children_size);
- memset(sock->children, 0, children_size);
+ sock->children = isc_mem_getx(worker->mctx, children_size,
+ ISC_MEM_ZERO);
isc_barrier_init(&sock->barrier, sock->nchildren);
sock->nchildren = (workers == ISC_NM_LISTEN_ALL) ? (uint32_t)mgr->nloops
: workers;
children_size = sock->nchildren * sizeof(sock->children[0]);
- sock->children = isc_mem_get(worker->mctx, children_size);
- memset(sock->children, 0, children_size);
+ sock->children = isc_mem_getx(worker->mctx, children_size,
+ ISC_MEM_ZERO);
isc_barrier_init(&sock->barrier, sock->nchildren);
REQUIRE(portsetp != NULL && *portsetp == NULL);
- portset = isc_mem_get(mctx, sizeof(*portset));
-
- /* Make the set 'empty' by default */
- memset(portset, 0, sizeof(*portset));
+ portset = isc_mem_getx(mctx, sizeof(*portset), ISC_MEM_ZERO);
*portsetp = portset;
return (ISC_R_SUCCESS);
RUNTIME_CHECK(OPENSSL_init_ssl(opts, NULL) == 1);
#else
nlocks = CRYPTO_num_locks();
- locks = isc_mem_get(isc__tls_mctx, nlocks * sizeof(locks[0]));
- memset(locks, 0, nlocks * sizeof(locks[0]));
+ locks = isc_mem_getx(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);
* The hash table entry does not exist, let's create one.
*/
INSIST(result != ISC_R_SUCCESS);
- entry = isc_mem_get(cache->mctx, sizeof(*entry));
- /* Oracle/Red Hat Linux, GCC bug #53119 */
- memset(entry, 0, sizeof(*entry));
+ entry = isc_mem_getx(cache->mctx, sizeof(*entry), ISC_MEM_ZERO);
entry->ctx[tr_offset][ipv6] = ctx;
entry->client_sess_cache[tr_offset][ipv6] = client_sess_cache;
entry->ca_store = store;
REQUIRE(count == 0 || res / count == size);
#endif
- ptr = isc_mem_allocate(isc__uv_mctx, res);
- memset(ptr, 0, res);
+ ptr = isc_mem_allocatex(isc__uv_mctx, res, ISC_MEM_ZERO);
return (ptr);
}
REQUIRE(pluginp != NULL && *pluginp == NULL);
- plugin = isc_mem_get(mctx, sizeof(*plugin));
- memset(plugin, 0, sizeof(*plugin));
+ plugin = isc_mem_getx(mctx, sizeof(*plugin), ISC_MEM_ZERO);
isc_mem_attach(mctx, &plugin->mctx);
plugin->modpath = isc_mem_strdup(plugin->mctx, modpath);
REQUIRE(hookpoint < NS_HOOKPOINTS_COUNT);
REQUIRE(hook != NULL);
- copy = isc_mem_get(mctx, sizeof(*copy));
- memset(copy, 0, sizeof(*copy));
+ copy = isc_mem_getx(mctx, sizeof(*copy), ISC_MEM_ZERO);
copy->action = hook->action;
copy->action_data = hook->action_data;
REQUIRE(listp != NULL && *listp == NULL);
- plugins = isc_mem_get(mctx, sizeof(*plugins));
- memset(plugins, 0, sizeof(*plugins));
+ plugins = isc_mem_getx(mctx, sizeof(*plugins), ISC_MEM_ZERO);
ISC_LIST_INIT(*plugins);
*listp = plugins;
REQUIRE(sctxp != NULL && *sctxp == NULL);
- sctx = isc_mem_get(mctx, sizeof(*sctx));
-
- memset(sctx, 0, sizeof(*sctx));
+ sctx = isc_mem_getx(mctx, sizeof(*sctx), ISC_MEM_ZERO);
isc_mem_attach(mctx, &sctx->mctx);
*/
if (ssutable != NULL) {
ruleslen = request->counts[DNS_SECTION_UPDATE];
- rules = isc_mem_get(mctx, sizeof(*rules) * ruleslen);
- memset(rules, 0, sizeof(*rules) * ruleslen);
+ rules = isc_mem_getx(mctx, sizeof(*rules) * ruleslen,
+ ISC_MEM_ZERO);
}
for (rule = 0,