From 920f2dcb38bf97db2246abc73d71359ec6af782e Mon Sep 17 00:00:00 2001 From: Sebastian Serth Date: Mon, 6 Nov 2023 00:16:53 +0100 Subject: [PATCH] Handle broken pipe socket in SubmissionsController Fixes CODEOCEAN-Y2 --- app/controllers/submissions_controller.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/controllers/submissions_controller.rb b/app/controllers/submissions_controller.rb index 9283063b..58e5564b 100644 --- a/app/controllers/submissions_controller.rb +++ b/app/controllers/submissions_controller.rb @@ -348,6 +348,9 @@ class SubmissionsController < ApplicationController end def kill_client_socket(client_socket) + # Do nothing if the socket is not passed, i.e., because the pipe broke + return unless client_socket + # We don't want to store this (arbitrary) exit command and redirect it ourselves client_socket.send_data JSON.dump({cmd: :exit}) client_socket.send_data nil, :close