commit | 8669d5aa697a0ded793d1411d079db9d3243e0c5 | [log] [tgz] |
---|---|---|
author | Markus Alexander Kuppe <bugs.eclipse.org@lemmster.de> | Tue Oct 15 18:26:32 2013 +0200 |
committer | Markus Alexander Kuppe <bugs.eclipse.org@lemmster.de> | Tue Oct 15 18:26:32 2013 +0200 |
tree | bc61ce6c0af7a7a3b211e0d62175323e3f426a82 | |
parent | 18d9ddae5a8f6ca77038e71b4399c19ad20c5683 [diff] |
Backport Memleak fix described in [1] and outlined in [2]. The 3.3.0 Smask CQ #7367 [3] has been updated to indicate that we backported this fix. [1] http://issues.igniterealtime.org/browse/SMACK-441 [2] http://fisheye.igniterealtime.org/viewrep/smack/branches/smack_3_3_1/source/org/jivesoftware/smack/keepalive/KeepAliveManager.java?r1=13657&r2=13703 [3] https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7367
diff --git a/protocols/bundles/org.jivesoftware.smack/src/org/jivesoftware/smack/keepalive/KeepAliveManager.java b/protocols/bundles/org.jivesoftware.smack/src/org/jivesoftware/smack/keepalive/KeepAliveManager.java index dea49b8..5246896 100644 --- a/protocols/bundles/org.jivesoftware.smack/src/org/jivesoftware/smack/keepalive/KeepAliveManager.java +++ b/protocols/bundles/org.jivesoftware.smack/src/org/jivesoftware/smack/keepalive/KeepAliveManager.java
@@ -276,10 +276,10 @@ public void run() { Ping ping = new Ping(); PacketFilter responseFilter = new PacketIDFilter(ping.getPacketID()); - final PacketCollector response = connection.createPacketCollector(responseFilter); + final PacketCollector response = pingFailedListeners.isEmpty() ? null : connection.createPacketCollector(responseFilter); connection.sendPacket(ping); - if (!pingFailedListeners.isEmpty()) { + if (response != null) { // Schedule a collector for the ping reply, notify listeners if none is received. periodicPingExecutorService.schedule(new Runnable() { @Override