Author: hwright
Date: Tue Mar 16 17:34:14 2010
New Revision: 923889

URL: http://svn.apache.org/viewvc?rev=923889&view=rev
Log:
Reintegrate the 1.6.x-issue3605 branch:

 * r923674, r923679
   Fix pool lifetime issue in the status walker.
   Justification:
     Without this patch externals information is kept in a per directory pool,
     which is cleared when the status walker goes back to the parent
     directory. The is_external_path() function then uses freed memory.
   Branch:
     ^/subversion/branches/1.6.x-issue3605
   Votes:
     +1: rhuijben, stsp, hwright

Modified:
    subversion/branches/1.6.x/   (props changed)
    subversion/branches/1.6.x/CHANGES   (props changed)
    subversion/branches/1.6.x/STATUS
    subversion/branches/1.6.x/subversion/libsvn_wc/status.c

Propchange: subversion/branches/1.6.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 16 17:34:14 2010
@@ -7,6 +7,7 @@
 /subversion/branches/1.6.x-issue3443:874942-875825
 /subversion/branches/1.6.x-issue3519:880376-889934
 /subversion/branches/1.6.x-issue3573:906488-923765
+/subversion/branches/1.6.x-issue3605:923668-923887
 /subversion/branches/1.6.x-no-svn_uri:872705-872760
 /subversion/branches/1.6.x-r36178:874221-874229
 /subversion/branches/1.6.x-r36252:872673-873133

Propchange: subversion/branches/1.6.x/CHANGES
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 16 17:34:14 2010
@@ -7,6 +7,7 @@
 /subversion/branches/1.6.x-issue3443/CHANGES:874942-875825
 /subversion/branches/1.6.x-issue3519/CHANGES:880376-889934
 /subversion/branches/1.6.x-issue3573/CHANGES:906488-923765
+/subversion/branches/1.6.x-issue3605/CHANGES:923668-923887
 /subversion/branches/1.6.x-no-svn_uri/CHANGES:872705-872760
 /subversion/branches/1.6.x-r36178/CHANGES:874221-874229
 /subversion/branches/1.6.x-r36252/CHANGES:872673-873133

Modified: subversion/branches/1.6.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.6.x/STATUS?rev=923889&r1=923888&r2=923889&view=diff
==============================================================================
--- subversion/branches/1.6.x/STATUS (original)
+++ subversion/branches/1.6.x/STATUS Tue Mar 16 17:34:14 2010
@@ -205,14 +205,3 @@ Veto-blocked changes:
 
 Approved changes:
 =================
-
- * r923674, r923679
-   Fix pool lifetime issue in the status walker.
-   Justification:
-     Without this patch externals information is kept in a per directory pool,
-     which is cleared when the status walker goes back to the parent
-     directory. The is_external_path() function then uses freed memory.
-   Branch:
-     ^/subversion/branches/1.6.x-issue3605
-   Votes:
-     +1: rhuijben, stsp, hwright

Modified: subversion/branches/1.6.x/subversion/libsvn_wc/status.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.6.x/subversion/libsvn_wc/status.c?rev=923889&r1=923888&r2=923889&view=diff
==============================================================================
--- subversion/branches/1.6.x/subversion/libsvn_wc/status.c (original)
+++ subversion/branches/1.6.x/subversion/libsvn_wc/status.c Tue Mar 16 17:34:14 
2010
@@ -884,6 +884,7 @@ get_dir_status(struct edit_baton *eb,
       if (prop_val)
         {
           apr_array_header_t *ext_items;
+          apr_pool_t *hash_pool = apr_hash_pool_get(eb->externals);
           int i;
 
           if (eb->traversal_info)
@@ -916,8 +917,8 @@ get_dir_status(struct edit_baton *eb,
               item = APR_ARRAY_IDX(ext_items, i, svn_wc_external_item2_t *);
               apr_hash_set(eb->externals, svn_path_join(path,
                                                         item->target_dir,
-                                                        pool),
-                           APR_HASH_KEY_STRING, item);
+                                                        hash_pool),
+                           APR_HASH_KEY_STRING, "");
             }
         }
     }


Reply via email to