attempt to fix NPE in LinkDiscovery
Change-Id: Iec3e2ed4a0fee2fb0c6ad9a0e383c2024efc10a0
Showing
1 changed file
with
6 additions
and
1 deletions
... | @@ -339,9 +339,14 @@ public class LinkDiscovery implements TimerTask { | ... | @@ -339,9 +339,14 @@ public class LinkDiscovery implements TimerTask { |
339 | final Iterator<Integer> fastIterator = this.fastPorts.iterator(); | 339 | final Iterator<Integer> fastIterator = this.fastPorts.iterator(); |
340 | while (fastIterator.hasNext()) { | 340 | while (fastIterator.hasNext()) { |
341 | final Integer portNumber = fastIterator.next(); | 341 | final Integer portNumber = fastIterator.next(); |
342 | + OFPortDesc port = findPort(portNumber); | ||
343 | + if (port == null) { | ||
344 | + // port can be null | ||
345 | + // #removePort modifies `ports` outside synchronized block | ||
346 | + continue; | ||
347 | + } | ||
342 | final int probeCount = this.portProbeCount.get(portNumber) | 348 | final int probeCount = this.portProbeCount.get(portNumber) |
343 | .getAndIncrement(); | 349 | .getAndIncrement(); |
344 | - OFPortDesc port = findPort(portNumber); | ||
345 | if (probeCount < LinkDiscovery.MAX_PROBE_COUNT) { | 350 | if (probeCount < LinkDiscovery.MAX_PROBE_COUNT) { |
346 | this.log.debug("sending fast probe to port"); | 351 | this.log.debug("sending fast probe to port"); |
347 | 352 | ... | ... |
-
Please register or login to post a comment