Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49196
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Tue, 25 May 2010 14:20:58 +0000 (14:20 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Tue, 25 May 2010 14:20:58 +0000 (14:20 +0000)
Avoid NPE on PageContext.getErrorData()

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

java/javax/servlet/jsp/PageContext.java

index 984efa4..b3507fa 100644 (file)
@@ -513,10 +513,18 @@ abstract public class PageContext
      * @since 2.0
      */
     public ErrorData getErrorData() {
+        int status = 0;
+        
+        Integer status_code = (Integer)getRequest().getAttribute( 
+                "javax.servlet.error.status_code");
+        // Avoid NPE if attribute is not set
+        if (status_code != null) {
+            status = status_code.intValue();
+        }
+
         return new ErrorData( 
             (Throwable)getRequest().getAttribute( "javax.servlet.error.exception" ),
-            ((Integer)getRequest().getAttribute( 
-                "javax.servlet.error.status_code" )).intValue(),
+            status,
             (String)getRequest().getAttribute( "javax.servlet.error.request_uri" ),
             (String)getRequest().getAttribute( "javax.servlet.error.servlet_name" ) );
     }