diff --git a/zk/src/main/java/org/zkoss/zk/ui/http/ExecutionImpl.java b/zk/src/main/java/org/zkoss/zk/ui/http/ExecutionImpl.java index aac06f1167..005a24186d 100644 --- a/zk/src/main/java/org/zkoss/zk/ui/http/ExecutionImpl.java +++ b/zk/src/main/java/org/zkoss/zk/ui/http/ExecutionImpl.java @@ -317,6 +317,8 @@ public void setVoided(boolean voided) { } public String encodeURL(String uri) { + if (uri == null || uri.isEmpty()) // ZK-5598 + return uri; try { String encodedURL = Encodes.encodeURL(_ctx, _request, _response, uri); String zkHostURL = (String) getDesktop().getAttribute("org.zkoss.desktop.auHost"); diff --git a/zkdoc/release-note b/zkdoc/release-note index c9594307cd..7ceb25507e 100644 --- a/zkdoc/release-note +++ b/zkdoc/release-note @@ -18,6 +18,7 @@ ZK 10.0.0 ZK-5522: CommonFns.formatNumber() doesn't handle null as javadoc mentions ZK-5569: Radiogroup onCheck event type mismatch ZK-5161: page directive's attributes are not encoded before rendering into HTML + ZK-5598: CKEditor requests ExecutionImpl.encodeURL with null value, causes NPE in embedded mode * Upgrade Notes + Upgrade commons-fileupload to commons-fileupload2-javax 2.0.0-M1 and commons-io to 2.13.0 to support jakarta-friendly uploads diff --git a/zktest/src/main/webapp/test2/B100-ZK-5598.html b/zktest/src/main/webapp/test2/B100-ZK-5598.html new file mode 100644 index 0000000000..e9197302ea --- /dev/null +++ b/zktest/src/main/webapp/test2/B100-ZK-5598.html @@ -0,0 +1,26 @@ + + + + +
+ + + +