You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by gs...@apache.org on 2012/05/01 18:28:28 UTC
svn commit: r1332742 - /subversion/trunk/subversion/libsvn_delta/compat.c
Author: gstein
Date: Tue May 1 16:28:27 2012
New Revision: 1332742
URL: http://svn.apache.org/viewvc?rev=1332742&view=rev
Log:
Fix some lifetime errors on the property params.
Found by: hwright
* subversion/libsvn_delta/compat.c:
(add_directory_cb, add_file_cb, add_symlink_cb, alter_directory_cb,
alter_file_cb): deep copy the props
Modified:
subversion/trunk/subversion/libsvn_delta/compat.c
Modified: subversion/trunk/subversion/libsvn_delta/compat.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/compat.c?rev=1332742&r1=1332741&r2=1332742&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_delta/compat.c (original)
+++ subversion/trunk/subversion/libsvn_delta/compat.c Tue May 1 16:28:27 2012
@@ -1065,7 +1065,7 @@ add_directory_cb(void *baton,
change->action = RESTRUCTURE_ADD;
change->kind = svn_kind_dir;
change->deleting = replaces_rev;
- change->props = apr_hash_copy(eb->edit_pool, props);
+ change->props = svn_prop_hash_dup(props, eb->edit_pool);
return SVN_NO_ERROR;
}
@@ -1102,7 +1102,7 @@ add_file_cb(void *baton,
change->action = RESTRUCTURE_ADD;
change->kind = svn_kind_file;
change->deleting = replaces_rev;
- change->props = apr_hash_copy(eb->edit_pool, props);
+ change->props = svn_prop_hash_dup(props, eb->edit_pool);
change->contents_abspath = tmp_filename;
change->checksum = svn_checksum_dup(md5_checksum, eb->edit_pool);
@@ -1125,7 +1125,7 @@ add_symlink_cb(void *baton,
change->action = RESTRUCTURE_ADD;
change->kind = svn_kind_symlink;
change->deleting = replaces_rev;
- change->props = apr_hash_copy(eb->edit_pool, props);
+ change->props = svn_prop_hash_dup(props, eb->edit_pool);
/* ### target */
#endif
@@ -1168,7 +1168,7 @@ alter_directory_cb(void *baton,
of an earlier copy/move operation. */
change->kind = svn_kind_dir;
change->changing = revision;
- change->props = apr_hash_copy(eb->edit_pool, props);
+ change->props = svn_prop_hash_dup(props, eb->edit_pool);
return SVN_NO_ERROR;
}
@@ -1215,7 +1215,7 @@ alter_file_cb(void *baton,
change->kind = svn_kind_file;
change->changing = revision;
if (props != NULL)
- change->props = apr_hash_copy(eb->edit_pool, props);
+ change->props = svn_prop_hash_dup(props, eb->edit_pool);
if (contents != NULL)
{
change->contents_abspath = tmp_filename;