diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index de44f1d08..ecf900849 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -218,7 +218,7 @@ class RepositoriesController < ApplicationController @rev = params[:rev].blank? ? @repository.default_branch : params[:rev].strip @rev_to = params[:rev_to] - unless @rev.to_s.match(REV_PARAM_RE) && @rev.to_s.match(REV_PARAM_RE) + unless @rev.to_s.match(REV_PARAM_RE) && @rev_to.to_s.match(REV_PARAM_RE) if @repository.branches.blank? raise InvalidRevisionParam end diff --git a/test/functional/repositories_subversion_controller_test.rb b/test/functional/repositories_subversion_controller_test.rb index be2b6087d..54cc4cd67 100644 --- a/test/functional/repositories_subversion_controller_test.rb +++ b/test/functional/repositories_subversion_controller_test.rb @@ -172,6 +172,12 @@ class RepositoriesSubversionControllerTest < ActionController::TestCase assert_error_tag :content => /was not found/ end + def test_invalid_revision_diff + get :diff, :id => 1, :rev => '1', :rev_to => 'something_weird' + assert_response 404 + assert_error_tag :content => /was not found/ + end + def test_empty_revision ['', ' ', nil].each do |r| get :revision, :id => 1, :rev => r