From 93231105b481b4b0cffb326eda97c8996fa2ccee Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Thu, 29 May 2008 10:35:02 +0000 Subject: Avoid NPEs :-) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/broker-queue-refactor@661286 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/qpid/server/queue/SimpleAMQQueue.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java b/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java index 5baf48245c..169da9275f 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java +++ b/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java @@ -514,7 +514,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener { QueueEntry node = sub.getLastSeenEntry(); - while(node.isAcquired() || node.isDeleted() || !sub.hasInterest(node) ) + while(node != null && (node.isAcquired() || node.isDeleted() || !sub.hasInterest(node)) ) { QueueEntry newNode = _entries.next(node); @@ -538,7 +538,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener else { node = sub.getLastSeenEntry(); - if(entry.compareTo(node) < 0 && sub.hasInterest(entry)) + if(node != null && entry.compareTo(node) < 0 && sub.hasInterest(entry)) { do { @@ -550,7 +550,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener { node = sub.getLastSeenEntry(); } - } while (entry.compareTo(node) < 0); + } while (node != null && entry.compareTo(node) < 0); } return false; } @@ -570,7 +570,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener if(!sub.isBrowser()) { QueueEntry subEntry = sub.getLastSeenEntry(); - while(entry.compareTo(subEntry)<0) + while(subEntry != null && entry.compareTo(subEntry)<0) { if(sub.setLastSeenEntry(subEntry,entry)) { @@ -1331,7 +1331,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener { QueueEntry node = sub.getLastSeenEntry(); - while(node.isAcquired() || node.isDeleted() || node.expired()) + while(node != null && (node.isAcquired() || node.isDeleted() || node.expired())) { if(!node.isAcquired() && !node.isDeleted() && node.expired()) { @@ -1396,7 +1396,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener { QueueEntry node = moveSubscriptionToNextNode(sub); - if(sub.isActive()) + if(node != null && sub.isActive()) { boolean advanced = false; boolean subActive = false; -- cgit v1.2.1