You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2001/01/17 16:33:46 UTC

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader StandardClassLoader.java

remm        01/01/17 07:33:46

  Modified:    catalina/src/share/org/apache/catalina/loader
                        StandardClassLoader.java
  Log:
  - Add a null check for the manifest file when loading a JAR file.
    A similar patch has already been applied in TC 4.1 for different reasons.
    Patch submitted by Donnchadh � Donnabh�in <d_...@vistech.ie>
  
  Revision  Changes    Path
  1.6       +14 -12    jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java
  
  Index: StandardClassLoader.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- StandardClassLoader.java	2000/10/09 21:04:02	1.5
  +++ StandardClassLoader.java	2001/01/17 15:33:46	1.6
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v 1.5 2000/10/09 21:04:02 craigmcc Exp $
  - * $Revision: 1.5 $
  - * $Date: 2000/10/09 21:04:02 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v 1.6 2001/01/17 15:33:46 remm Exp $
  + * $Revision: 1.6 $
  + * $Date: 2001/01/17 15:33:46 $
    *
    * ====================================================================
    *
  @@ -99,7 +99,7 @@
    * independently.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.5 $ $Date: 2000/10/09 21:04:02 $
  + * @version $Revision: 1.6 $ $Date: 2001/01/17 15:33:46 $
    */
   
   public class StandardClassLoader
  @@ -1060,14 +1060,16 @@
                            repository + "'");
                   }
                   Manifest manifest = jarFile.getManifest();
  -                Iterator extensions =
  -                    Extension.getAvailable(manifest).iterator();
  -                while (extensions.hasNext())
  -                    available.add(extensions.next());
  -                extensions =
  -                    Extension.getRequired(manifest).iterator();
  -                while (extensions.hasNext())
  -                    required.add(extensions.next());
  +                if (manifest != null) {
  +                    Iterator extensions =
  +                        Extension.getAvailable(manifest).iterator();
  +                    while (extensions.hasNext())
  +                        available.add(extensions.next());
  +                    extensions =
  +                        Extension.getRequired(manifest).iterator();
  +                    while (extensions.hasNext())
  +                        required.add(extensions.next());
  +                }
                   jarFile.close();
               } catch (Throwable t) {
                   throw new IllegalArgumentException("addRepositoryInternal: " + t);