From f525d83b53f1a205f3d3e856115da8de4fc0c7fd Mon Sep 17 00:00:00 2001 From: Gerhard Schlager Date: Wed, 13 Dec 2017 21:51:09 +0100 Subject: [PATCH] FIX: empty uploads and blank filenames caused errors during validation --- lib/upload_creator.rb | 4 ++-- spec/models/upload_spec.rb | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/upload_creator.rb b/lib/upload_creator.rb index 847f932aff6..a0cdd75a922 100644 --- a/lib/upload_creator.rb +++ b/lib/upload_creator.rb @@ -21,9 +21,9 @@ class UploadCreator # - for_private_message (boolean) # - pasted (boolean) def initialize(file, filename, opts = {}) - @upload = Upload.new @file = file - @filename = filename + @filename = filename || '' + @upload = Upload.new(original_filename: filename, filesize: 0) @opts = opts end diff --git a/spec/models/upload_spec.rb b/spec/models/upload_spec.rb index 47ec85b07a8..b8803fda54a 100644 --- a/spec/models/upload_spec.rb +++ b/spec/models/upload_spec.rb @@ -51,6 +51,13 @@ describe Upload do expect(created_upload.extension).to eq("png") end + it "should create an invalid upload when the filename is blank" do + SiteSetting.authorized_extensions = "*" + + created_upload = UploadCreator.new(image, nil).create_for(user_id) + expect(created_upload.valid?).to eq(false) + end + context ".get_from_url" do let(:url) { "/uploads/default/original/3X/1/0/10f73034616a796dfd70177dc54b6def44c4ba6f.png" } let(:upload) { Fabricate(:upload, url: url) }