summaryrefslogtreecommitdiffstats
path: root/lib/redmine
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2016-05-04 18:05:54 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2016-05-04 18:05:54 +0000
commitbf81c96b79cc80bc4ffb08714a3d3f92e68e254a (patch)
tree747e796cb3c301b5c5b429a7029655fb6b0febfc /lib/redmine
parentfcb4e510ea3c4de06aa7dfad31c772ad589fd612 (diff)
downloadredmine-bf81c96b79cc80bc4ffb08714a3d3f92e68e254a.tar.gz
redmine-bf81c96b79cc80bc4ffb08714a3d3f92e68e254a.zip
Make sure we only invoke Imagemagick if this is actually an image (#22721).
git-svn-id: http://svn.redmine.org/redmine/trunk@15362 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib/redmine')
-rw-r--r--lib/redmine/thumbnail.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/redmine/thumbnail.rb b/lib/redmine/thumbnail.rb
index 61e113d5e..9321c7bb3 100644
--- a/lib/redmine/thumbnail.rb
+++ b/lib/redmine/thumbnail.rb
@@ -16,6 +16,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
require 'fileutils'
+require 'mimemagic'
module Redmine
module Thumbnail
@@ -27,6 +28,10 @@ module Redmine
def self.generate(source, target, size)
return nil unless convert_available?
unless File.exists?(target)
+ # Make sure we only invoke Imagemagick if this is actually an image
+ unless File.open(source) {|f| MimeMagic.by_magic(f).try(:image?)}
+ return nil
+ end
directory = File.dirname(target)
unless File.exists?(directory)
FileUtils.mkdir_p directory