On 05/17/2011 06:34 PM, Johan Corveleyn wrote:
> On Tue, May 17, 2011 at 5:02 PM, <cmpilato_at_apache.org> wrote:
>> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/reporter.c?rev=1104309&r1=1104308&r2=1104309&view=diff
>> ==============================================================================
>> --- subversion/trunk/subversion/libsvn_repos/reporter.c (original)
>> +++ subversion/trunk/subversion/libsvn_repos/reporter.c Tue May 17 15:02:05 2011
>> @@ -860,9 +860,23 @@ update_entry(report_baton_t *b, svn_revn
>> {
>> int distance = svn_fs_compare_ids(s_entry->id, t_entry->id);
>> if (distance == 0 && !any_path_info(b, e_path)
>> - && (!info || (!info->start_empty && !info->lock_token))
>> && (requested_depth <= wc_depth || t_entry->kind == svn_node_file))
>> - return SVN_NO_ERROR;
>> + {
>> + if (!info)
>> + return SVN_NO_ERROR;
>> +
>> + if (!info->start_empty)
>> + {
>> + svn_lock_t *lock;
>> +
>> + if (!info->lock_token)
>> + return SVN_NO_ERROR;
>> +
>> + SVN_ERR(svn_fs_get_lock(&lock, b->repos->fs, t_path, pool));
>
> Could t_path be NULL here (if only if a "malicious client" crafts a
> special request)?
>
> The docstring of this function mentions that T_ENTRY and T_PATH may be
> NULL. In this block we are sure that T_ENTRY is non-null, but what
> about T_PATH?
I think T_ENTRY and T_PATH come as a pair, either both NULL or both not.
--
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on 2011-05-17 19:14:07 CEST