Hi,

I committed the attached patch to fix a NPE in LoginContext (it calls
the package private getConfig() method, but if the config field hadn't
previously been initialized that would return null).

Regards,
Jeroen

2005-09-09  Jeroen Frijters  <[EMAIL PROTECTED]>

        * javax/security/auth/login/Configuration.java
        (getConfiguration): Call getConfig() instead of doing the work.
        (getConfig): Instantiate the configuration provider.
Index: javax/security/auth/login/Configuration.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/javax/security/auth/login/Configuration.java,v
retrieving revision 1.3
diff -u -r1.3 Configuration.java
--- javax/security/auth/login/Configuration.java        2 Jul 2005 20:32:46 
-0000       1.3
+++ javax/security/auth/login/Configuration.java        9 Sep 2005 12:06:55 
-0000
@@ -67,29 +67,7 @@
     SecurityManager sm = System.getSecurityManager();
     if (sm != null)
       sm.checkPermission (new AuthPermission ("getLoginConfiguration"));
-    if (config == null)
-      {
-        String conf = (String) AccessController.doPrivileged
-          (new PrivilegedAction()
-            {
-              public Object run()
-              {
-                return Security.getProperty ("login.configuration.provider");
-              }
-            });
-        try
-          {
-            if (conf != null)
-              config = (Configuration) Class.forName (conf).newInstance();
-            else
-              config = new NullConfiguration();
-          }
-        catch (Exception x)
-          {
-            config = new NullConfiguration();
-          }
-      }
-    return config;
+    return getConfig();
   }
 
   public static synchronized void setConfiguration (Configuration config)
@@ -115,6 +93,28 @@
    */
   static Configuration getConfig()
   {
+    if (config == null)
+      {
+        String conf = (String) AccessController.doPrivileged
+          (new PrivilegedAction()
+            {
+              public Object run()
+              {
+                return Security.getProperty ("login.configuration.provider");
+              }
+            });
+        try
+          {
+            if (conf != null)
+              config = (Configuration) Class.forName (conf).newInstance();
+            else
+              config = new NullConfiguration();
+          }
+        catch (Exception x)
+          {
+            config = new NullConfiguration();
+          }
+      }
     return config;
   }
 }
_______________________________________________
Classpath-patches mailing list
Classpath-patches@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath-patches

Reply via email to