You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2010/03/19 16:58:35 UTC
svn commit: r925290 - /subversion/trunk/subversion/libsvn_subr/mergeinfo.c
Author: julianfoad
Date: Fri Mar 19 15:58:35 2010
New Revision: 925290
URL: http://svn.apache.org/viewvc?rev=925290&view=rev
Log:
* subversion/libsvn_subr/mergeinfo.c
(parse_rangelist): Validate that revision numbers are not zero, as that
is invalid mergeinfo and since r924201 would cause an assertion failure.
Also, expand the doc string.
Modified:
subversion/trunk/subversion/libsvn_subr/mergeinfo.c
Modified: subversion/trunk/subversion/libsvn_subr/mergeinfo.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/mergeinfo.c?rev=925290&r1=925289&r2=925290&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/mergeinfo.c (original)
+++ subversion/trunk/subversion/libsvn_subr/mergeinfo.c Fri Mar 19 15:58:35 2010
@@ -459,6 +459,10 @@ range_to_string(const svn_merge_range_t
}
/* Helper for svn_mergeinfo_parse()
+ Append revision ranges onto the array RANGELIST to represent the range
+ descriptions found in the string *INPUT. Read only as far as a newline
+ or the position END, whichever comes first. Set *INPUT to the position
+ after the last character of INPUT that was used.
revisionlist -> (revisionelement)(COMMA revisionelement)*
revisionrange -> REVISION "-" REVISION("*")
@@ -503,6 +507,11 @@ parse_rangelist(const char **input, cons
mrange->end = firstrev;
mrange->inheritable = TRUE;
+ if (firstrev == 0)
+ return svn_error_createf(SVN_ERR_MERGEINFO_PARSE_ERROR, NULL,
+ _("Invalid revision number '0' found in "
+ "range list"));
+
if (*curr == '-')
{
svn_revnum_t secondrev;