On 06.11.2016 02:21, Daniel Shahaf wrote:
During the r1767197 thread, I noticed that vwrite_tuple() doesn't
enforce its precondition that in the optional part of a tuple, either
all values are valid or no value is; a call such as

     vwrite_tuple("(?r?r)", SVN_INVALID_REVNUM, (svn_revnum_t) 42)

would happily generate a «( 42 ) » tuple, instead of triggering an
SVN_ERR_MALFUNCTION().

This would be easy to fix, and would prevent a class of bugs.
This function seems to have a number of bugs,
for instance:

* optional sub-structs don't get a "("
* the OPT flag is global instead of per-struct

If there is an efficient way to fix these, please
feel free to do so ;)

-- Stefan^2.

Reply via email to