diff --git a/app/controllers/problems_controller.rb b/app/controllers/problems_controller.rb index 02f09b60..8264f648 100644 --- a/app/controllers/problems_controller.rb +++ b/app/controllers/problems_controller.rb @@ -87,7 +87,7 @@ def submit @problem = Problem.find(params[:id]) @submission = Submission.new(submit_params) # create submission respond_to do |format| - source_is_valid = @submission.source.valid_encoding? && !@submission.source.include?("\0") + source_is_valid = @submission.source.nil? || @submission.source.valid_encoding? && !@submission.source.include?("\0") if !source_is_valid @submission.errors.add :source_file, "has an invalid text encoding. This was likely caused by submitting a compiled file (.exe, .out, .class, ...) instead of a source code file (.cpp, .c, .java, ...)." @submission.source = nil; # Prevent submission form from trying to render the source (and erroring)