From ef003caab2e45fa89d072278dc32dc8aa95e4c9a Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 2 Aug 2015 07:25:23 +0000 Subject: Wrong syntax for resizing inline images may throw a 500 error (#20278). Fix by Go MAEDA. git-svn-id: http://svn.redmine.org/redmine/trunk@14473 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/attachment.rb | 2 +- test/unit/attachment_test.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/models/attachment.rb b/app/models/attachment.rb index 8e3d578e5..d1d7c6dd0 100644 --- a/app/models/attachment.rb +++ b/app/models/attachment.rb @@ -294,7 +294,7 @@ class Attachment < ActiveRecord::Base def self.latest_attach(attachments, filename) attachments.sort_by(&:created_on).reverse.detect do |att| - att.filename.downcase == filename.downcase + filename.casecmp(att.filename) == 0 end end diff --git a/test/unit/attachment_test.rb b/test/unit/attachment_test.rb index b48ebcf3f..ffc8fe1cd 100644 --- a/test/unit/attachment_test.rb +++ b/test/unit/attachment_test.rb @@ -327,6 +327,13 @@ class AttachmentTest < ActiveSupport::TestCase set_tmp_attachments_directory end + def test_latest_attach_should_not_error_with_string_with_invalid_encoding + string = "width:50\xFE-Image.jpg".force_encoding('UTF-8') + assert_equal false, string.valid_encoding? + + Attachment.latest_attach(Attachment.limit(2).to_a, string) + end + def test_thumbnailable_should_be_true_for_images assert_equal true, Attachment.new(:filename => 'test.jpg').thumbnailable? end -- cgit v1.2.3