This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch karaf-4.2.x
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/karaf-4.2.x by this push:
     new bfefdbe  [KARAF-6964] Prevent NPE if MANIFEST doesn't exist in Main
bfefdbe is described below

commit bfefdbe18d618689bc19313b95a8b898e057c3b9
Author: jbonofre <[email protected]>
AuthorDate: Wed May 5 16:35:07 2021 +0200

    [KARAF-6964] Prevent NPE if MANIFEST doesn't exist in Main
    
    (cherry picked from commit 94697949b9fad9a598bb762b9ecd7fcdebb6f34a)
---
 .../apache/karaf/shell/impl/console/standalone/Main.java | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git 
a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/standalone/Main.java
 
b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/standalone/Main.java
index ead34fb..8ad5f1d 100644
--- 
a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/standalone/Main.java
+++ 
b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/standalone/Main.java
@@ -154,14 +154,16 @@ public class Main {
         for (URL url : urls) {
             try (JarFile jarFile = new JarFile(url.toURI().getPath())) {
                 Manifest manifest = jarFile.getManifest();
-                String embeddedArtifacts = 
manifest.getMainAttributes().getValue(JarInJarConstants.REDIRECTED_CLASS_PATH_MANIFEST_NAME);
-                if (embeddedArtifacts != null) {
-                    String[] artifacts = embeddedArtifacts.split( "," );
-                    for ( String artifact : artifacts ) {
-                        if (!artifact.endsWith(JarInJarConstants.JAR_EXTENSION 
)) {
-                            continue;
+                if (manifest != null) {
+                    String embeddedArtifacts = 
manifest.getMainAttributes().getValue(JarInJarConstants.REDIRECTED_CLASS_PATH_MANIFEST_NAME);
+                    if (embeddedArtifacts != null) {
+                        String[] artifacts = embeddedArtifacts.split(",");
+                        for (String artifact : artifacts) {
+                            if 
(!artifact.endsWith(JarInJarConstants.JAR_EXTENSION)) {
+                                continue;
+                            }
+                            result.add(new 
URL(JarInJarConstants.JAR_INTERNAL_URL_PROTOCOL_WITH_COLON + artifact + 
JarInJarConstants.JAR_INTERNAL_SEPARATOR));
                         }
-                        result.add(new 
URL(JarInJarConstants.JAR_INTERNAL_URL_PROTOCOL_WITH_COLON + artifact + 
JarInJarConstants.JAR_INTERNAL_SEPARATOR));
                     }
                 }
             }

Reply via email to