This check will be used in more than one place later.

Signed-off-by: Krzesimir Nowak <krzesi...@endocode.com>
---
 gitweb/gitweb.perl | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 68c77f6..46bd6ac 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -1452,6 +1452,16 @@ sub validate_pathname {
        return $input;
 }
 
+sub is_valid_ref_format {
+       my $input = shift || return undef;
+
+       # restrictions on ref name according to git-check-ref-format
+       if ($input =~ m!(/\.|\.\.|[\000-\040\177 ~^:?*\[]|/$)!) {
+               return undef;
+       }
+       return $input;
+}
+
 sub validate_refname {
        my $input = shift || return undef;
 
@@ -1462,10 +1472,9 @@ sub validate_refname {
        # it must be correct pathname
        $input = validate_pathname($input)
                or return undef;
-       # restrictions on ref name according to git-check-ref-format
-       if ($input =~ m!(/\.|\.\.|[\000-\040\177 ~^:?*\[]|/$)!) {
-               return undef;
-       }
+       # check git-check-ref-format restrictions
+       is_valid_ref_format($input)
+               or return undef;
        return $input;
 }
 
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to