# HG changeset patch
# User Olaf Wintermann <olaf.wintermann@gmail.com>
# Date 1652534519 -7200
# Node ID 79b28ae7bfbd91e1a71d59a59d8d6f8a59568097
# Parent  f3b490a2150cb57b7431fb5be2e5ea55fd58c0fa
check cgi exit code

diff -r f3b490a2150c -r 79b28ae7bfbd src/server/safs/cgi.c
--- a/src/server/safs/cgi.c	Sat May 14 12:51:05 2022 +0200
+++ b/src/server/safs/cgi.c	Sat May 14 15:21:59 2022 +0200
@@ -191,7 +191,12 @@
         log_ereport(LOG_FAILURE, "cgi-send: kill script: %s", path);
         kill(cgip.pid, SIGKILL);
     }
-    cgi_close(&cgip); // TODO: check return value
+    
+    int exit_code = cgi_close(&cgip);
+    if(exit_code != 0) {
+        log_ereport(LOG_FAILURE, "send-cgi: script: %s exited with code %d", path, exit_code);
+        ret = REQ_ABORTED;
+    }
       
     cgi_parser_free(parser);
     return result;
@@ -269,7 +274,7 @@
         system_close(p->out[1]);
     }
     
-    return 0;
+    return status;
 }
 
 CGIResponseParser* cgi_parser_new(Session *sn, Request *rq) {