Author: stefan2
Date: Tue Dec 30 20:02:59 2014
New Revision: 1648591
URL: http://svn.apache.org/r1648591
Log:
Follow-up to r1648537: Fix occasional segfault in DAG walk.
* subversion/libsvn_fs_fs/tree.c
(open_path): Make sure our "HERE" node remains valid between iterations.
Modified:
subversion/trunk/subversion/libsvn_fs_fs/tree.c
Modified: subversion/trunk/subversion/libsvn_fs_fs/tree.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/tree.c?rev=1648591&r1=1648590&r2=1648591&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/tree.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/tree.c Tue Dec 30 20:02:59 2014
@@ -1076,8 +1076,12 @@ open_path(parent_path_t **parent_path_p,
if (flags & open_path_node_only)
{
- /* Shortcut: the caller only wants the final DAG node. */
- parent_path->node = svn_fs_fs__dag_copy_into_pool(child, pool);
+ /* Shortcut: the caller only wants the final DAG node.
+ Make sure CHILD, which will become HERE, and the node
+ we will ultimately return survive the cleanup of
+ ITERPOOL. */
+ child = svn_fs_fs__dag_copy_into_pool(child, pool);
+ parent_path->node = child;
}
else
{