summaryrefslogtreecommitdiff
path: root/tables/apr_tables.c
diff options
context:
space:
mode:
Diffstat (limited to 'tables/apr_tables.c')
-rw-r--r--tables/apr_tables.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/tables/apr_tables.c b/tables/apr_tables.c
index 51b23407c..683f48a16 100644
--- a/tables/apr_tables.c
+++ b/tables/apr_tables.c
@@ -730,15 +730,18 @@ APR_DECLARE(void) apr_table_mergen(apr_table_t *t, const char *key,
apr_table_entry_t *next_elt;
apr_table_entry_t *end_elt;
apr_uint32_t checksum;
+ apr_pool_t *pool;
int hash;
#if APR_POOL_DEBUG
{
- if (!apr_pool_is_ancestor(apr_pool_find(key), t->a.pool)) {
+ pool = apr_pool_find(key);
+ if ((pool != key) && (!apr_pool_is_ancestor(pool, t->a.pool))) {
fprintf(stderr, "apr_table_mergen: key not in ancestor pool of t\n");
abort();
}
- if (!apr_pool_is_ancestor(apr_pool_find(val), t->a.pool)) {
+ pool = apr_pool_find(val);
+ if ((pool != val) && (!apr_pool_is_ancestor(pool, t->a.pool))) {
fprintf(stderr, "apr_table_mergen: val not in ancestor pool of t\n");
abort();
}