diff options
Diffstat (limited to 'meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4131.patch')
-rw-r--r-- | meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4131.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4131.patch b/meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4131.patch new file mode 100644 index 0000000000..88bd25e0d9 --- /dev/null +++ b/meta/recipes-devtools/subversion/subversion-1.7.10/subversion-CVE-2013-4131.patch @@ -0,0 +1,42 @@ +Upstream-Status: Backport + +Index: subversion/mod_dav_svn/repos.c +=================================================================== +--- a/subversion/mod_dav_svn/repos.c (revision 1503527) ++++ b/subversion/mod_dav_svn/repos.c (revision 1503528) +@@ -2408,21 +2408,12 @@ + svn_boolean_t is_urlpath, + apr_pool_t *pool) + { +- apr_size_t len; +- char *tmp = apr_pstrdup(pool, path); +- +- len = strlen(tmp); +- +- if (len > 0) ++ if (*path != '\0') /* not an empty string */ + { +- /* Remove any trailing slash; else svn_path_dirname() asserts. */ +- if (tmp[len-1] == '/') +- tmp[len-1] = '\0'; +- + if (is_urlpath) +- return svn_urlpath__dirname(tmp, pool); ++ return svn_urlpath__dirname(path, pool); + else +- return svn_fspath__dirname(tmp, pool); ++ return svn_fspath__dirname(path, pool); + } + + return path; +@@ -2458,7 +2449,9 @@ + parent->versioned = 1; + parent->hooks = resource->hooks; + parent->pool = resource->pool; +- parent->uri = get_parent_path(resource->uri, TRUE, resource->pool); ++ parent->uri = get_parent_path(svn_urlpath__canonicalize(resource->uri, ++ resource->pool), ++ TRUE, resource->pool); + parent->info = parentinfo; + + parentinfo->uri_path = |