From: Ruediger Pluem Date: Thu, 29 Nov 2007 20:21:10 +0000 (+0000) Subject: Merge 557837, 557972 from trunk: X-Git-Tag: 2.2.7~172 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ed9165497e8c554a7b17a4e523cc064e229cba9;p=thirdparty%2Fapache%2Fhttpd.git Merge 557837, 557972 from trunk: 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. Fix clash between r557837 and r427780 PR: 38699, 39518, 42005, 42006, 42007, 42008, 42009 Submitted by: Christophe Jaillet Reviewed by: rpluem, trawick, niq git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@599569 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index d7d49aea519..e92a6430ec5 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache 2.2.7 + *) Various code cleanups. PR 38699, 39518, 42005, 42006, 42007, 42008, 42009 + [Christophe Jaillet ] + *) rotatelogs: Change command-line parsing to report more types of errors. Allow local timestamps to be used when rotating based on file size. [Jeff Trawick] diff --git a/STATUS b/STATUS index 4d79b441e8d..5d8d1233342 100644 --- a/STATUS +++ b/STATUS @@ -79,15 +79,6 @@ RELEASE SHOWSTOPPERS: PATCHES ACCEPTED TO BACKPORT FROM TRUNK: [ start all new proposals below, under PATCHES PROPOSED. ] - * multiple files, Trivial cleanups - PR: 39518 - Christophe JAILLET - trunk: - http://svn.apache.org/viewvc?view=rev&revision=557837 - http://svn.apache.org/viewvc?view=rev&revision=557972 - 2.2.x - http://people.apache.org/~rpluem/patches/code_clean.diff - +1: rpluem, trawick, niq - * mod_include: Add an "if" directive syntax to test whether an URL is accessible, and if so, conditionally display content. This allows a webmaster to hide a link to a private page when the user diff --git a/modules/dav/fs/lock.c b/modules/dav/fs/lock.c index 61dd8553a96..32220a79baf 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 2b297a8c618..a4e0e214c51 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 b89a459b0c1..3d5c4667789 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 d122d05b34a..d9d8b101711 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/ssl/ssl_scache_dbm.c b/modules/ssl/ssl_scache_dbm.c index d495ad4518a..cdcce9d8432 100644 --- a/modules/ssl/ssl_scache_dbm.c +++ b/modules/ssl/ssl_scache_dbm.c @@ -370,8 +370,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 7a78dab3375..0e479b0c5d0 100644 --- a/server/core.c +++ b/server/core.c @@ -227,8 +227,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; @@ -286,10 +285,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) { @@ -497,8 +495,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;