#729 Discovery partially fails on invalid indexes

This commit is contained in:
Oliver Gorwits
2020-06-29 14:05:44 +01:00
parent 8ff595c321
commit 83de59fcc0
3 changed files with 22 additions and 0 deletions

View File

@@ -72,7 +72,15 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub {
# build device modules list for DBIC
my (@modules, %seen_idx);
foreach my $entry (keys %$e_index) {
next unless defined $e_index->{$entry};
next if $seen_idx{ $e_index->{$entry} }++;
if ($e_index->{$entry} !~ m/^[0-9]+$/) {
debug sprintf ' [%s] modules - index %s is not an integer',
$device->ip, $e_index->{$entry};
next;
}
push @modules, {
index => $e_index->{$entry},
type => $e_type->{$entry},