Repository: karaf
Updated Branches:
  refs/heads/karaf-4.1.x 4aae558c0 -> 673fc4c95


[KARAF-5181] Prevent NPE in threads command


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/673fc4c9
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/673fc4c9
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/673fc4c9

Branch: refs/heads/karaf-4.1.x
Commit: 673fc4c95d1cb7cdc99f835e479747c2e1b6a563
Parents: 4aae558
Author: Jean-Baptiste Onofré <[email protected]>
Authored: Thu Jun 8 16:11:10 2017 +0200
Committer: Jean-Baptiste Onofré <[email protected]>
Committed: Thu Jun 8 16:11:10 2017 +0200

----------------------------------------------------------------------
 .../shell/commands/impl/ThreadsAction.java      | 24 +++++++++++---------
 1 file changed, 13 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/673fc4c9/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/ThreadsAction.java
----------------------------------------------------------------------
diff --git 
a/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/ThreadsAction.java
 
b/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/ThreadsAction.java
index 24156c5..a8d2d8d 100644
--- 
a/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/ThreadsAction.java
+++ 
b/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/ThreadsAction.java
@@ -239,18 +239,20 @@ public class ThreadsAction implements Action {
 
         public boolean isInteresting() {
             int nb = 0;
-            StackTraceElement[] stacktrace = info.getStackTrace();
-            for (int i = 0; i < stacktrace.length; i++) {
-                StackTraceElement ste = stacktrace[i];
-                boolean interestingLine = true;
-                for (String pkg : packages) {
-                    if (ste.getClassName().startsWith(pkg)) {
-                        interestingLine = false;
-                        break;
+            if (info != null && info.getStackTrace() != null) {
+                StackTraceElement[] stacktrace = info.getStackTrace();
+                for (int i = 0; i < stacktrace.length; i++) {
+                    StackTraceElement ste = stacktrace[i];
+                    boolean interestingLine = true;
+                    for (String pkg : packages) {
+                        if (ste.getClassName().startsWith(pkg)) {
+                            interestingLine = false;
+                            break;
+                        }
+                    }
+                    if (interestingLine) {
+                        nb++;
                     }
-                }
-                if (interestingLine) {
-                    nb++;
                 }
             }
             return nb >= threshold;

Reply via email to