diff options
author | Jacob Vosmaer <jacob@gitlab.com> | 2018-01-26 12:54:44 +0100 |
---|---|---|
committer | Jacob Vosmaer <jacob@gitlab.com> | 2018-01-26 12:54:44 +0100 |
commit | 5d6176bd823f928376cbf48e4ae02feb535e57e6 (patch) | |
tree | faf5bde084f7008810237bcbb78fe6b215671d8e | |
parent | ca165fd8d4fc1f20fb7b90356f65e9930d7fbf2c (diff) | |
download | gitlab-ce-limit-never-zero.tar.gz |
Be more strict in limit validationlimit-never-zero
-rw-r--r-- | lib/gitlab/git/repository.rb | 2 | ||||
-rw-r--r-- | spec/lib/gitlab/git/repository_spec.rb | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index 65225d9d9ed..c422833d6a8 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -471,7 +471,7 @@ module Gitlab options[:offset] ||= 0 limit = options[:limit] - if limit == 0 || !limit + if limit == 0 || !limit.is_a?(Integer) raise ArgumentError.new("invalid Repository#log limit: #{limit.inspect}") end diff --git a/spec/lib/gitlab/git/repository_spec.rb b/spec/lib/gitlab/git/repository_spec.rb index 36ca3980de9..65fa4781cc8 100644 --- a/spec/lib/gitlab/git/repository_spec.rb +++ b/spec/lib/gitlab/git/repository_spec.rb @@ -943,6 +943,16 @@ describe Gitlab::Git::Repository, seed_helper: true do end end end + + context 'limit validation' do + where(:limit) do + [0, nil, '', 'foo'] + end + + with_them do + it { expect { repository.log(limit: limit) }.to raise_error(ArgumentError) } + end + end end describe "#rugged_commits_between" do |