From 05fd9d14f7aa8b9ab7840598deacd4a134f95215 Mon Sep 17 00:00:00 2001 From: KozakLordOfMatrix Date: Tue, 7 Jul 2026 17:50:50 +0300 Subject: [PATCH] fix(js): prevent crashes by validating res.Headers before splitting --- gitspoof/gitspoof.js | 12 ++++++++---- web-override/web-override.js | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/gitspoof/gitspoof.js b/gitspoof/gitspoof.js index 1973e08..5a4798d 100644 --- a/gitspoof/gitspoof.js +++ b/gitspoof/gitspoof.js @@ -18,10 +18,14 @@ function onResponse(req, res) { } if (req.Query == 'service=git-upload-pack' && req.Hostname != gitspoof_repo) { res.Status = 301; - headers = res.Headers.split("\r\n"); - for (var i = 0; i < headers.length; i++) { - header_name = headers[i].replace(/:.*/, ""); - res.RemoveHeader(header_name); + if (res.Headers) { + var headers = res.Headers.split("\r\n"); + for (var i = 0; i < headers.length; i++) { + if (headers[i]) { + var header_name = headers[i].replace(/:.*/, ""); + res.RemoveHeader(header_name); + } + } } res.SetHeader("Location", "http://" + gitspoof_repo + "/info/refs?service=git-upload-pack"); res.Body = ""; diff --git a/web-override/web-override.js b/web-override/web-override.js index fbc9771..224056c 100644 --- a/web-override/web-override.js +++ b/web-override/web-override.js @@ -1,10 +1,14 @@ // Called before every request is executed, just override the response with // our own html web page. function onRequest(req, res) { - headers = res.Headers.split("\r\n"); - for (var i = 0; i < headers.length; i++) { - header_name = headers[i].replace(/:.*/, ""); - res.RemoveHeader(header_name); + if (res.Headers) { + var headers = res.Headers.split("\r\n"); + for (var i = 0; i < headers.length; i++) { + if (headers[i]) { + var header_name = headers[i].replace(/:.*/, ""); + res.RemoveHeader(header_name); + } + } } res.SetHeader("Connection", "close"); res.Status = 200;