From 66c979d63c49ef48e11ef6a92bdf9750b9658aa3 Mon Sep 17 00:00:00 2001 From: Toshi MARUYAMA Date: Thu, 17 Feb 2011 14:17:04 +0000 Subject: [PATCH] scm: fix diff revision param validation. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4860 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/repositories_controller.rb | 2 +- test/functional/repositories_subversion_controller_test.rb | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) 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