diff options
author | Robert Godfrey <rgodfrey@apache.org> | 2008-05-29 10:35:02 +0000 |
---|---|---|
committer | Robert Godfrey <rgodfrey@apache.org> | 2008-05-29 10:35:02 +0000 |
commit | 93231105b481b4b0cffb326eda97c8996fa2ccee (patch) | |
tree | 2c2aba9c74fea9d3ac39cf75f4e71182042c8de3 | |
parent | 9591ca6d7ccf622941d7642346f89dddf06bdef2 (diff) | |
download | qpid-python-93231105b481b4b0cffb326eda97c8996fa2ccee.tar.gz |
Avoid NPEs :-)
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/broker-queue-refactor@661286 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java | 12 |
1 files 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; |