You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2020/11/20 17:14:12 UTC
[activemq] branch activemq-5.16.x updated: Guard against null
return value from java.net.NetworkInterface.getNetworkInterfaces().
This is an automated email from the ASF dual-hosted git repository.
jbonofre pushed a commit to branch activemq-5.16.x
in repository https://gitbox.apache.org/repos/asf/activemq.git
The following commit(s) were added to refs/heads/activemq-5.16.x by this push:
new 020276f Guard against null return value from java.net.NetworkInterface.getNetworkInterfaces().
020276f is described below
commit 020276f49922d0e6e9291d24b018d93dfbe0b379
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Thu Nov 5 10:13:50 2020 -0500
Guard against null return value from java.net.NetworkInterface.getNetworkInterfaces().
(cherry picked from commit d2923729021f37062d4569cda0cbe60469b3f138)
---
.../multicast/MulticastDiscoveryAgent.java | 26 ++++++++++++----------
1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/activemq-client/src/main/java/org/apache/activemq/transport/discovery/multicast/MulticastDiscoveryAgent.java b/activemq-client/src/main/java/org/apache/activemq/transport/discovery/multicast/MulticastDiscoveryAgent.java
index 8624a06..01f6fcc 100644
--- a/activemq-client/src/main/java/org/apache/activemq/transport/discovery/multicast/MulticastDiscoveryAgent.java
+++ b/activemq-client/src/main/java/org/apache/activemq/transport/discovery/multicast/MulticastDiscoveryAgent.java
@@ -345,20 +345,22 @@ public class MulticastDiscoveryAgent implements DiscoveryAgent, Runnable {
private NetworkInterface findNetworkInterface() throws SocketException {
Enumeration<NetworkInterface> ifcs = NetworkInterface.getNetworkInterfaces();
List<NetworkInterface> possibles = new ArrayList<NetworkInterface>();
- while (ifcs.hasMoreElements()) {
- NetworkInterface ni = ifcs.nextElement();
- try {
- if (ni.supportsMulticast()
- && ni.isUp()) {
- for (InterfaceAddress ia : ni.getInterfaceAddresses()) {
- if (ia != null && ia.getAddress() instanceof java.net.Inet4Address
- && !ia.getAddress().isLoopbackAddress()
- && (ni.getDisplayName()==null || !ni.getDisplayName().startsWith("vnic"))) {
- possibles.add(ni);
+ if (ifcs != null) {
+ while (ifcs.hasMoreElements()) {
+ NetworkInterface ni = ifcs.nextElement();
+ try {
+ if (ni.supportsMulticast()
+ && ni.isUp()) {
+ for (InterfaceAddress ia : ni.getInterfaceAddresses()) {
+ if (ia != null && ia.getAddress() instanceof java.net.Inet4Address
+ && !ia.getAddress().isLoopbackAddress()
+ && (ni.getDisplayName()==null || !ni.getDisplayName().startsWith("vnic"))) {
+ possibles.add(ni);
+ }
}
}
- }
- } catch (SocketException ignored) {}
+ } catch (SocketException ignored) {}
+ }
}
return possibles.isEmpty() ? null : possibles.get(possibles.size() - 1);
}