diff options
Diffstat (limited to 'contrib/apr/tables/apr_tables.c')
-rw-r--r-- | contrib/apr/tables/apr_tables.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/contrib/apr/tables/apr_tables.c b/contrib/apr/tables/apr_tables.c index 51b2340..7479ef4 100644 --- a/contrib/apr/tables/apr_tables.c +++ b/contrib/apr/tables/apr_tables.c @@ -734,11 +734,14 @@ APR_DECLARE(void) apr_table_mergen(apr_table_t *t, const char *key, #if APR_POOL_DEBUG { - if (!apr_pool_is_ancestor(apr_pool_find(key), t->a.pool)) { + apr_pool_t *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(); } |