From: Nick Kew Date: Fri, 20 Jul 2007 01:26:55 +0000 (+0000) Subject: Multiple trivial fixes from Christophe JAILLET X-Git-Tag: 2.3.0~1710 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e5061abc935fd70def787ec1aff598e94224b54b;p=apache Multiple trivial fixes from Christophe JAILLET PR 38699, 39518, 42005, 42006, 42007, 42008, 42009 The patches are all his, and are sufficiently trivial to review at a glance. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@557837 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/aaa/mod_authn_core.c b/modules/aaa/mod_authn_core.c index 69b4c753e3..e421e1375d 100644 --- a/modules/aaa/mod_authn_core.c +++ b/modules/aaa/mod_authn_core.c @@ -88,8 +88,7 @@ static void *merge_authn_core_dir_config(apr_pool_t *a, void *basev, void *newv) /* 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; diff --git a/modules/aaa/mod_authz_core.c b/modules/aaa/mod_authz_core.c index 14e69a4764..87a1c8d572 100644 --- a/modules/aaa/mod_authz_core.c +++ b/modules/aaa/mod_authz_core.c @@ -132,8 +132,7 @@ static void *merge_authz_core_dir_config(apr_pool_t *a, void *basev, void *newv) /* 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. */ diff --git a/modules/cache/cache_cache.c b/modules/cache/cache_cache.c index 6db98f71a6..860800bb4c 100644 --- a/modules/cache/cache_cache.c +++ b/modules/cache/cache_cache.c @@ -85,13 +85,7 @@ CACHE_DECLARE(void) cache_free(cache_cache_t *c) 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) diff --git a/modules/dav/fs/lock.c b/modules/dav/fs/lock.c index 61dd8553a9..32220a79ba 100644 --- a/modules/dav/fs/lock.c +++ b/modules/dav/fs/lock.c @@ -600,8 +600,7 @@ static dav_error * dav_fs_load_lock_record(dav_lockdb *lockdb, apr_datum_t key, 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; @@ -648,15 +647,13 @@ static dav_error * dav_fs_load_lock_record(dav_lockdb *lockdb, apr_datum_t key, /* 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)) { diff --git a/modules/dav/lock/locks.c b/modules/dav/lock/locks.c index 2b297a8c61..a4e0e214c5 100644 --- a/modules/dav/lock/locks.c +++ b/modules/dav/lock/locks.c @@ -603,8 +603,7 @@ static dav_error * dav_generic_load_lock_record(dav_lockdb *lockdb, 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? */ @@ -639,16 +638,14 @@ static dav_error * dav_generic_load_lock_record(dav_lockdb *lockdb, /* 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)) { diff --git a/modules/filters/mod_include.c b/modules/filters/mod_include.c index b89a459b0c..3d5c466778 100644 --- a/modules/filters/mod_include.c +++ b/modules/filters/mod_include.c @@ -3225,9 +3225,8 @@ static apr_status_t send_parsed_content(ap_filter_t *f, apr_bucket_brigade *bb) /* 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); @@ -3414,9 +3413,9 @@ static apr_status_t send_parsed_content(ap_filter_t *f, apr_bucket_brigade *bb) 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, diff --git a/modules/http/mod_mime.c b/modules/http/mod_mime.c index d122d05b34..d9d8b10171 100644 --- a/modules/http/mod_mime.c +++ b/modules/http/mod_mime.c @@ -140,11 +140,10 @@ static void *overlay_extension_mappings(apr_pool_t *p, 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; } diff --git a/modules/mappers/mod_rewrite.c b/modules/mappers/mod_rewrite.c index 0092fd4175..0b19987c1e 100644 --- a/modules/mappers/mod_rewrite.c +++ b/modules/mappers/mod_rewrite.c @@ -1072,11 +1072,7 @@ static char *rewrite_mapfunc_toupper(request_rec *r, char *key) 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; } diff --git a/modules/ssl/ssl_scache_dbm.c b/modules/ssl/ssl_scache_dbm.c index c6799d3a91..dac480cf26 100644 --- a/modules/ssl/ssl_scache_dbm.c +++ b/modules/ssl/ssl_scache_dbm.c @@ -374,8 +374,7 @@ static void ssl_scache_dbm_expire(server_rec *s) 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) diff --git a/server/core.c b/server/core.c index 0f5b4c35d6..ea7b14afb3 100644 --- a/server/core.c +++ b/server/core.c @@ -223,8 +223,7 @@ static void *merge_core_dir_configs(apr_pool_t *a, void *basev, void *newv) /* 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; @@ -270,10 +269,9 @@ static void *merge_core_dir_configs(apr_pool_t *a, void *basev, void *newv) 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) { @@ -471,8 +469,7 @@ static void *merge_core_server_configs(apr_pool_t *p, void *basev, void *virtv) 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; diff --git a/server/mpm/experimental/event/fdqueue.c b/server/mpm/experimental/event/fdqueue.c index 51952ced66..c0ef9bbbb1 100644 --- a/server/mpm/experimental/event/fdqueue.c +++ b/server/mpm/experimental/event/fdqueue.c @@ -65,8 +65,7 @@ apr_status_t ap_queue_info_create(fd_queue_info_t ** queue_info, 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); diff --git a/server/mpm/worker/fdqueue.c b/server/mpm/worker/fdqueue.c index 6b5485b3a8..8be7c9fa2d 100644 --- a/server/mpm/worker/fdqueue.c +++ b/server/mpm/worker/fdqueue.c @@ -58,8 +58,7 @@ apr_status_t ap_queue_info_create(fd_queue_info_t **queue_info, 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); diff --git a/server/request.c b/server/request.c index 821df68668..cdf3f364ef 100644 --- a/server/request.c +++ b/server/request.c @@ -1764,9 +1764,9 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_dirent(const apr_finfo_t *dirent, /* 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, "/"); } } diff --git a/server/util.c b/server/util.c index 55ed076b5f..d3345f4ce4 100644 --- a/server/util.c +++ b/server/util.c @@ -2074,10 +2074,9 @@ AP_DECLARE(void) ap_content_type_tolower(char *str) if (semi) { *semi = '\0'; } - while (*str) { - *str = apr_tolower(*str); - ++str; - } + + ap_str_tolower(*str); + if (semi) { *semi = ';'; } diff --git a/support/htcacheclean.c b/support/htcacheclean.c index e2d73caf64..7b923b4071 100644 --- a/support/htcacheclean.c +++ b/support/htcacheclean.c @@ -474,9 +474,7 @@ static int process_dir(char *path, apr_pool_t *pool) 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 {