From 5b9a21a8f70d64db1bb6c98c0663aa6227aeeb99 Mon Sep 17 00:00:00 2001 From: rupeshtelus Date: Mon, 29 Aug 2022 15:06:41 +0530 Subject: [PATCH] ZCS-12002:failed test case of testBug64974 --- .../cs/html/owasp/OwaspHtmlSanitizer.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/store/src/java/com/zimbra/cs/html/owasp/OwaspHtmlSanitizer.java b/store/src/java/com/zimbra/cs/html/owasp/OwaspHtmlSanitizer.java index b9008b960b4..ced7a6c7569 100644 --- a/store/src/java/com/zimbra/cs/html/owasp/OwaspHtmlSanitizer.java +++ b/store/src/java/com/zimbra/cs/html/owasp/OwaspHtmlSanitizer.java @@ -64,15 +64,19 @@ private String checkUnbalancedTags(String html) { String start = tagArr[0]; String end = tagArr[1]; String[] arrOfStr = html.split(start); - for (String strAfterSplit : arrOfStr) { - if (!strAfterSplit.equals("") && strAfterSplit.contains(end)) { - formattedHtml = formattedHtml + start + strAfterSplit; - } else { - formattedHtml = formattedHtml + strAfterSplit; - } + //ZCS-12002 ( failed test case for testBug64974 ) + //if the html doesn't containing start then skipping other operations + if (arrOfStr.length > 1) { + for (String strAfterSplit : arrOfStr) { + if (!strAfterSplit.equals("") && strAfterSplit.contains(end)) { + formattedHtml = formattedHtml + start + strAfterSplit; + } else { + formattedHtml = formattedHtml + strAfterSplit; + } + } + html = formattedHtml; + formattedHtml = ""; } - html = formattedHtml; - formattedHtml = ""; } return html; }