apr-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rpl...@apache.org
Subject svn commit: r1368813 - in /apr/apr/branches/1.5.x: ./ tables/apr_tables.c
Date Fri, 03 Aug 2012 07:41:38 GMT
Author: rpluem
Date: Fri Aug  3 07:41:38 2012
New Revision: 1368813

URL: http://svn.apache.org/viewvc?rev=1368813&view=rev
Log:
Merge r1367050 from trunk:

* Prevent apr_table_mergen from aborting when APR_POOL_DEBUG is set and key or
  value are static literals not stored in pool managed memory.

Submitted by: rpluem

Modified:
    apr/apr/branches/1.5.x/   (props changed)
    apr/apr/branches/1.5.x/tables/apr_tables.c

Propchange: apr/apr/branches/1.5.x/
------------------------------------------------------------------------------
  Merged /apr/apr/trunk:r1367050

Modified: apr/apr/branches/1.5.x/tables/apr_tables.c
URL: http://svn.apache.org/viewvc/apr/apr/branches/1.5.x/tables/apr_tables.c?rev=1368813&r1=1368812&r2=1368813&view=diff
==============================================================================
--- apr/apr/branches/1.5.x/tables/apr_tables.c (original)
+++ apr/apr/branches/1.5.x/tables/apr_tables.c Fri Aug  3 07:41:38 2012
@@ -730,15 +730,18 @@ APR_DECLARE(void) apr_table_mergen(apr_t
     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();
 	}



Mime
View raw message