diff --git a/server/src/com/cloud/servlet/ConsoleProxyServlet.java b/server/src/com/cloud/servlet/ConsoleProxyServlet.java index 4b2f6391ca2..a748329aafb 100644 --- a/server/src/com/cloud/servlet/ConsoleProxyServlet.java +++ b/server/src/com/cloud/servlet/ConsoleProxyServlet.java @@ -243,7 +243,7 @@ public class ConsoleProxyServlet extends HttpServlet { } StringBuffer sb = new StringBuffer(); - sb.append("").append(vmName).append("").append(escapeHTML(vmName)).append(""); sendResponse(resp, sb.toString()); } @@ -547,4 +547,23 @@ public class ConsoleProxyServlet extends HttpServlet { } return false; } + + public static final String escapeHTML(String content){ + if(content == null || content.isEmpty()) + return content; + + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < content.length(); i++) { + char c = content.charAt(i); + switch (c) { + case '<': sb.append("<"); break; + case '>': sb.append(">"); break; + case '&': sb.append("&"); break; + case '"': sb.append("""); break; + case ' ': sb.append(" ");break; + default: sb.append(c); break; + } + } + return sb.toString(); + } }