diff -ruN subversion-1.2.x.orig/subversion/mod_authz_svn/mod_authz_svn.c subversion-1.2.x/subversion/mod_authz_svn/mod_authz_svn.c
--- subversion-1.2.x.orig/subversion/mod_authz_svn/mod_authz_svn.c      2005-03-22 06:32:19.000000000 +0100
+++ subversion-1.2.x/subversion/mod_authz_svn/mod_authz_svn.c   2005-07-22 20:06:26.657366864 +0200
@@ -227,15 +227,24 @@
            || (baton.allow & required_access);
 }

+static int strncmp_path(const char *s1, const char *s2, size_t n)
+{
+  int r1 = strncmp(s1, s2, n);
+  if (r1 == 0 && strlen(s1) > n && s1[n] != '/') {
+      return 1;
+  }
+  return r1;
+}
+
 static svn_boolean_t parse_authz_section(const char *section_name,
                                          void *baton)
 {
   struct parse_authz_baton *b = baton;
   int conclusive;

-  if (strncmp(section_name, b->qualified_repos_path,
+  if (strncmp_path(section_name, b->qualified_repos_path,
               strlen(b->qualified_repos_path))
-      && strncmp(section_name, b->repos_path,
+      && strncmp_path(section_name, b->repos_path,
                  strlen(b->repos_path))) {
       /* No match, move on to the next section. */
       return TRUE;


