diff --git a/core/src/main/java/hudson/Util.java b/core/src/main/java/hudson/Util.java
index dbd8b9107b..b7d76ca56a 100644
--- a/core/src/main/java/hudson/Util.java
+++ b/core/src/main/java/hudson/Util.java
@@ -807,6 +807,12 @@ public class Util {
if(ch=='&')
buf.append("&");
else
+ if(ch=='"')
+ buf.append(""");
+ else
+ if(ch=='\'')
+ buf.append("'");
+ else
if(ch==' ') {
// All spaces in a block of consecutive spaces are converted to
// non-breaking space ( ) except for the last one. This allows
diff --git a/core/src/test/java/hudson/UtilTest.java b/core/src/test/java/hudson/UtilTest.java
index a3fc4d9b4a..f331aa5fb8 100644
--- a/core/src/test/java/hudson/UtilTest.java
+++ b/core/src/test/java/hudson/UtilTest.java
@@ -170,4 +170,11 @@ public class UtilTest extends TestCase {
Util.deleteRecursive(d);
}
}
+
+ public void TestEscape() {
+ assertEquals("
", Util.escape("\n"));
+ assertEquals("<a>", Util.escape(""));
+ assertEquals(""'", Util.escape("'\""));
+ assertEquals(" ", Util.escape(" "));
+ }
}