From 07581e40014e611343a770330380e7b281bf38bc Mon Sep 17 00:00:00 2001 From: Takashi Harano Date: Sat, 1 Aug 2020 20:41:56 +0900 Subject: [PATCH 1/2] Prevent potential access violation --- war/src/main/webapp/scripts/hudson-behavior.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/war/src/main/webapp/scripts/hudson-behavior.js b/war/src/main/webapp/scripts/hudson-behavior.js index e86246eec7ae..319d1107304e 100644 --- a/war/src/main/webapp/scripts/hudson-behavior.js +++ b/war/src/main/webapp/scripts/hudson-behavior.js @@ -500,7 +500,11 @@ var tooltip; //======================================================== // using tag names in CSS selector makes the processing faster function registerValidator(e) { - e.targetElement = findFollowingTR(e, "validation-error-area").firstChild.nextSibling; + var tr = findFollowingTR(e, "validation-error-area"); + if (!tr || !tr.firstChild) { + return; + } + e.targetElement = tr.firstChild.nextSibling; e.targetUrl = function() { var url = this.getAttribute("checkUrl"); var depends = this.getAttribute("checkDependsOn"); From 4e8a47827981bddf83ce99a20779f5e15160a2d5 Mon Sep 17 00:00:00 2001 From: Takashi Harano Date: Sat, 1 Aug 2020 21:27:39 +0900 Subject: [PATCH 2/2] Add a warning log --- war/src/main/webapp/scripts/hudson-behavior.js | 1 + 1 file changed, 1 insertion(+) diff --git a/war/src/main/webapp/scripts/hudson-behavior.js b/war/src/main/webapp/scripts/hudson-behavior.js index 319d1107304e..761020c55700 100644 --- a/war/src/main/webapp/scripts/hudson-behavior.js +++ b/war/src/main/webapp/scripts/hudson-behavior.js @@ -502,6 +502,7 @@ var tooltip; function registerValidator(e) { var tr = findFollowingTR(e, "validation-error-area"); if (!tr || !tr.firstChild) { + console.warn("Couldn't register validator, start element was", e); return; } e.targetElement = tr.firstChild.nextSibling;