From: Krzesimir Nowak Date: Wed, 11 Dec 2013 11:54:41 GMT Subject: [PATCH v7 1/4] gitweb: Move check-ref-format code into separate function Message-ID: <1386762884-7564-2-git-send-email-krzesimir@endocode.com> In-Reply-To: <1386762884-7564-1-git-send-email-krzesimir@endocode.com> This check will be used in more than one place later. Signed-off-by: Krzesimir Nowak --- 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