/* Create this conf by duplicating the base, replacing elements
* (or creating copies for merging) where new-> values exist.
*/
- conf = (authn_core_dir_conf *)apr_palloc(a, sizeof(authn_core_dir_conf));
- memcpy(conf, base, sizeof(authn_core_dir_conf));
+ conf = (authn_core_dir_conf *)apr_pmemdup(a, base, sizeof(authn_core_dir_conf));
if (new->ap_auth_type) {
conf->ap_auth_type = new->ap_auth_type;
/* Create this conf by duplicating the base, replacing elements
* (or creating copies for merging) where new-> values exist.
*/
- conf = (authz_core_dir_conf *)apr_palloc(a, sizeof(authz_core_dir_conf));
- memcpy(conf, base, sizeof(authz_core_dir_conf));
+ conf = (authz_core_dir_conf *)apr_pmemdup(a, new, sizeof(authz_core_dir_conf));
/* Wipe out the providers and rejects lists so that
they can be recreated by the merge process. */
CACHE_DECLARE(void*) cache_find(cache_cache_t* c, const char *key)
{
- void *e;
-
- e = cache_hash_get(c->ht, key, CACHE_HASH_KEY_STRING);
- if (!e)
- return NULL;
-
- return e;
+ return cache_hash_get(c->ht, key, CACHE_HASH_KEY_STRING);
}
CACHE_DECLARE(void) cache_update(cache_cache_t* c, void *entry)
dp = apr_pcalloc(p, sizeof(*dp));
memcpy(dp, val.dptr + offset, sizeof(dp->f));
offset += sizeof(dp->f);
- dp->locktoken = apr_palloc(p, sizeof(*dp->locktoken));
- memcpy(dp->locktoken, val.dptr + offset, sizeof(*dp->locktoken));
+ dp->locktoken = apr_pmemdup(p, val.dptr + offset, sizeof(*dp->locktoken));
offset += sizeof(*dp->locktoken);
if (*(val.dptr + offset) == '\0') {
++offset;
/* Create and fill a dav_lock_indirect structure */
ip = apr_pcalloc(p, sizeof(*ip));
- ip->locktoken = apr_palloc(p, sizeof(*ip->locktoken));
- memcpy(ip->locktoken, val.dptr + offset, sizeof(*ip->locktoken));
+ ip->locktoken = apr_pmemdup(p, val.dptr + offset, sizeof(*ip->locktoken));
offset += sizeof(*ip->locktoken);
memcpy(&ip->timeout, val.dptr + offset, sizeof(ip->timeout));
offset += sizeof(ip->timeout);
memcpy(&ip->key.dsize, val.dptr + offset, sizeof(ip->key.dsize)); /* length of datum */
offset += sizeof(ip->key.dsize);
- ip->key.dptr = apr_palloc(p, ip->key.dsize);
- memcpy(ip->key.dptr, val.dptr + offset, ip->key.dsize);
+ ip->key.dptr = apr_pmemdup(p, val.dptr + offset, ip->key.dsize);
offset += ip->key.dsize;
if (!dav_fs_lock_expired(ip->timeout)) {
offset += sizeof(dp->f);
/* Copy the lock token. */
- dp->locktoken = apr_palloc(p, sizeof(*dp->locktoken));
- memcpy(dp->locktoken, val.dptr + offset, sizeof(*dp->locktoken));
+ dp->locktoken = apr_pmemdup(p, val.dptr + offset, sizeof(*dp->locktoken));
offset += sizeof(*dp->locktoken);
/* Do we have an owner field? */
/* Create and fill a dav_lock_indirect structure */
ip = apr_pcalloc(p, sizeof(*ip));
- ip->locktoken = apr_palloc(p, sizeof(*ip->locktoken));
- memcpy(ip->locktoken, val.dptr + offset, sizeof(*ip->locktoken));
+ ip->locktoken = apr_pmemdup(p, val.dptr + offset, sizeof(*ip->locktoken));
offset += sizeof(*ip->locktoken);
memcpy(&ip->timeout, val.dptr + offset, sizeof(ip->timeout));
offset += sizeof(ip->timeout);
/* length of datum */
ip->key.dsize = *((int *) (val.dptr + offset));
offset += sizeof(ip->key.dsize);
- ip->key.dptr = apr_palloc(p, ip->key.dsize);
- memcpy(ip->key.dptr, val.dptr + offset, ip->key.dsize);
+ ip->key.dptr = apr_pmemdup(p, val.dptr + offset, ip->key.dsize);
offset += ip->key.dsize;
if (!dav_generic_lock_expired(ip->timeout)) {
/* check if we mismatched earlier and have to release some chars */
if (release && (ctx->flags & SSI_FLAG_PRINTING)) {
- char *to_release = apr_palloc(ctx->pool, release);
+ char *to_release = apr_pmemdup(ctx->pool, intern->start_seq, release);
- memcpy(to_release, intern->start_seq, release);
newb = apr_bucket_pool_create(to_release, release, ctx->pool,
f->c->bucket_alloc);
APR_BRIGADE_INSERT_TAIL(pass_bb, newb);
if (intern->seen_eos) {
if (PARSE_HEAD == intern->state) {
if (ctx->flags & SSI_FLAG_PRINTING) {
- char *to_release = apr_palloc(ctx->pool, intern->parse_pos);
+ char *to_release = apr_pmemdup(ctx->pool, intern->start_seq,
+ intern->parse_pos);
- memcpy(to_release, intern->start_seq, intern->parse_pos);
APR_BRIGADE_INSERT_TAIL(pass_bb,
apr_bucket_pool_create(to_release,
intern->parse_pos, ctx->pool,
const void *base_val,
const void *data)
{
- extension_info *new_info = apr_palloc(p, sizeof(extension_info));
const extension_info *overlay_info = (const extension_info *)overlay_val;
const extension_info *base_info = (const extension_info *)base_val;
+ extension_info *new_info = apr_pmemdup(p, base_info, sizeof(extension_info));
- memcpy(new_info, base_info, sizeof(extension_info));
if (overlay_info->forced_type) {
new_info->forced_type = overlay_info->forced_type;
}
static char *rewrite_mapfunc_tolower(request_rec *r, char *key)
{
- char *p;
-
- for (p = key; *p; ++p) {
- *p = apr_tolower(*p);
- }
+ ap_str_tolower(key);
return key;
}
bDelete = TRUE;
}
if (bDelete) {
- if ((keylist[keyidx].dptr = apr_palloc(p, dbmkey.dsize)) != NULL) {
- memcpy(keylist[keyidx].dptr, dbmkey.dptr, dbmkey.dsize);
+ if ((keylist[keyidx].dptr = apr_pmemdup(p, dbmkey.dptr, dbmkey.dsize)) != NULL) {
keylist[keyidx].dsize = dbmkey.dsize;
keyidx++;
if (keyidx == KEYMAX)
/* Create this conf by duplicating the base, replacing elements
* (or creating copies for merging) where new-> values exist.
*/
- conf = (core_dir_config *)apr_palloc(a, sizeof(core_dir_config));
- memcpy(conf, base, sizeof(core_dir_config));
+ conf = (core_dir_config *)apr_pmemdup(a, base, sizeof(core_dir_config));
conf->d = new->d;
conf->d_is_fnmatch = new->d_is_fnmatch;
else if (new->response_code_strings != NULL) {
/* If we merge, the merge-result must have it's own array
*/
- conf->response_code_strings = apr_palloc(a,
+ conf->response_code_strings = apr_pmemdup(a,
+ base->response_code_strings,
sizeof(*conf->response_code_strings) * RESPONSE_CODES);
- memcpy(conf->response_code_strings, base->response_code_strings,
- sizeof(*conf->response_code_strings) * RESPONSE_CODES);
for (i = 0; i < RESPONSE_CODES; ++i) {
if (new->response_code_strings[i] != NULL) {
core_server_config *virt = (core_server_config *)virtv;
core_server_config *conf;
- conf = (core_server_config *)apr_palloc(p, sizeof(core_server_config));
- memcpy(conf, virt, sizeof(core_server_config));
+ conf = (core_server_config *)apr_pmemdup(p, virt, sizeof(core_server_config));
if (!conf->access_name) {
conf->access_name = base->access_name;
apr_status_t rv;
fd_queue_info_t *qi;
- qi = apr_palloc(pool, sizeof(*qi));
- memset(qi, 0, sizeof(*qi));
+ qi = apr_pcalloc(pool, sizeof(*qi));
rv = apr_thread_mutex_create(&qi->idlers_mutex, APR_THREAD_MUTEX_DEFAULT,
pool);
apr_status_t rv;
fd_queue_info_t *qi;
- qi = apr_palloc(pool, sizeof(*qi));
- memset(qi, 0, sizeof(*qi));
+ qi = apr_pcalloc(pool, sizeof(*qi));
rv = apr_thread_mutex_create(&qi->idlers_mutex, APR_THREAD_MUTEX_DEFAULT,
pool);
/* ap_make_full_path overallocated the buffers
* by one character to help us out here.
*/
- strcpy(rnew->filename + strlen(rnew->filename), "/");
+ strcat(rnew->filename, "/");
if (!rnew->path_info || !*rnew->path_info) {
- strcpy(rnew->uri + strlen(rnew->uri ), "/");
+ strcat(rnew->uri, "/");
}
}
if (semi) {
*semi = '\0';
}
- while (*str) {
- *str = apr_tolower(*str);
- ++str;
- }
+
+ ap_str_tolower(*str);
+
if (semi) {
*semi = ';';
}
e->dtime = d->dtime;
e->hsize = d->hsize;
e->dsize = d->dsize;
- e->basename = apr_palloc(pool,
- strlen(d->basename) + 1);
- strcpy(e->basename, d->basename);
+ e->basename = apr_pstrdup(pool, d->basename);
break;
}
else {