Author: philip
Date: Thu Nov 24 14:15:26 2011
New Revision: 1205839
URL: http://svn.apache.org/viewvc?rev=1205839&view=rev
Log:
Fix a case of reading beyond allocated memory when asking
for locks at depth=infinity on a path that is a locked file.
Identified by valgrind running locks-test 4.
* subversion/libsvn_fs_base/bdb/locks-table.c
(svn_fs_bdb__locks_get): Early return when found a locked file.
Modified:
subversion/trunk/subversion/libsvn_fs_base/bdb/locks-table.c
Modified: subversion/trunk/subversion/libsvn_fs_base/bdb/locks-table.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/bdb/locks-table.c?rev=1205839&r1=1205838&r2=1205839&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/bdb/locks-table.c (original)
+++ subversion/trunk/subversion/libsvn_fs_base/bdb/locks-table.c Thu Nov 24
14:15:26 2011
@@ -224,7 +224,12 @@ svn_fs_bdb__locks_get(svn_fs_t *fs,
{
SVN_ERR(get_lock(&lock, fs, path, lock_token, trail, pool));
if (lock && get_locks_func)
- SVN_ERR(get_locks_func(get_locks_baton, lock, pool));
+ {
+ SVN_ERR(get_locks_func(get_locks_baton, lock, pool));
+
+ /* Found a lock so PATH is a file and we can ignore depth */
+ return SVN_NO_ERROR;
+ }
}
/* If we're only looking at PATH itself (depth = empty), stop here. */