Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=47451
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Sun, 1 Nov 2009 22:53:29 +0000 (22:53 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Sun, 1 Nov 2009 22:53:29 +0000 (22:53 +0000)
Don't trigger an NPE if headers with null or zero length name or set or if a null value is specified. Silently ignore any such calls in the same way the calls are ignored if the response has already been committed.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@831774 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/connector/Response.java

index 9db6feb..dbfbeaa 100644 (file)
@@ -1009,6 +1009,10 @@ public class Response
      */
     public void addDateHeader(String name, long value) {
 
+        if (name == null || name.length() == 0) {
+            return;
+        }
+
         if (isCommitted())
             return;
 
@@ -1036,6 +1040,10 @@ public class Response
      */
     public void addHeader(String name, String value) {
 
+        if (name == null || name.length() == 0 || value == null) {
+            return;
+        }
+
         if (isCommitted())
             return;
 
@@ -1056,6 +1064,10 @@ public class Response
      */
     public void addIntHeader(String name, int value) {
 
+        if (name == null || name.length() == 0) {
+            return;
+        }
+
         if (isCommitted())
             return;
 
@@ -1281,6 +1293,10 @@ public class Response
      */
     public void setDateHeader(String name, long value) {
 
+        if (name == null || name.length() == 0) {
+            return;
+        }
+
         if (isCommitted())
             return;
 
@@ -1308,6 +1324,10 @@ public class Response
      */
     public void setHeader(String name, String value) {
 
+        if (name == null || name.length() == 0 || value == null) {
+            return;
+        }
+
         if (isCommitted())
             return;
 
@@ -1328,6 +1348,10 @@ public class Response
      */
     public void setIntHeader(String name, int value) {
 
+        if (name == null || name.length() == 0) {
+            return;
+        }
+
         if (isCommitted())
             return;