On Tue, Mar 26, 2013 at 11:07 PM, Ben Reser <b...@reser.org> wrote:
> On Tue, Mar 26, 2013 at 10:57 AM, Ivan Zhakov <i...@visualsvn.com> wrote:
>> We already have svn_fs__path_valid() and validate all incoming FS
>> paths in fs-loader.c. Current svn_fs__path_valid() implementation is:
>> [[[
>> svn_error_t *
>> svn_fs__path_valid(const char *path, apr_pool_t *pool)
>> {
>>   /* UTF-8 encoded string without NULs. */
>>   if (! svn_utf__cstring_is_valid(path))
>>     {
>>       return svn_error_createf(SVN_ERR_FS_PATH_SYNTAX, NULL,
>>                                _("Path '%s' is not in UTF-8"), path);
>>     }
>>
>>   /* No "." or ".." elements. */
>>   if (svn_path_is_backpath_present(path)
>>       || svn_path_is_dotpath_present(path))
>>     {
>>       return svn_error_createf(SVN_ERR_FS_PATH_SYNTAX, NULL,
>>                                _("Path '%s' contains '.' or '..' element"),
>>                                path);
>>     }
>>
>>   /* That's good enough. */
>>   return SVN_NO_ERROR;
>> }
>> ]]]
>>
>> Can we just extend it to prohibit all characters with ascii code < 31 ?
>
> Iterate the characters and use svn_ctype_iscntrl()
Yes, btw we already have such code in svn_path_check().


-- 
Ivan Zhakov

Reply via email to