Ignore empty IPv4 addresses in discovery on buggy devices (#10198)

* Ignore empty IPv4 addresses in discovery on buggy devices

* Styling fixes for codeclimate

* Use try/catch block instead
This commit is contained in:
CirnoT
2019-05-09 13:39:57 +02:00
committed by Tony Murray
parent 2d246097d4
commit b4f03808db

View File

@@ -1,6 +1,7 @@
<?php
use LibreNMS\Util\IPv4;
use LibreNMS\Exceptions\InvalidIpException;
if (key_exists('vrf_lite_cisco', $device) && (count($device['vrf_lite_cisco'])!= 0)) {
$vrfs_lite_cisco = $device['vrf_lite_cisco'];
@@ -17,7 +18,11 @@ foreach ($vrfs_lite_cisco as $vrf) {
list($oid,$ifIndex) = explode(' ', $data);
$mask = trim(snmp_get($device, "ipAdEntNetMask.$oid", '-Oqv', 'IP-MIB'));
$cidr = IPv4::netmask2cidr($mask);
$ipv4 = new IPv4("$oid/$cidr");
try {
$ipv4 = new IPv4("$oid/$cidr");
} catch (InvalidIpException $e) {
continue;
}
$network = $ipv4->getNetworkAddress() . '/' . $ipv4->cidr;