From 8af579752f6773ca00886fe870a33349432fea8e Mon Sep 17 00:00:00 2001 From: Joshua Powers Date: Wed, 8 Feb 2023 09:48:25 -0700 Subject: [PATCH] fix(inputs.cisco_telemetry_mdt): check subfield sizes to avoid panics (#12637) --- plugins/inputs/cisco_telemetry_mdt/cisco_telemetry_mdt.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/inputs/cisco_telemetry_mdt/cisco_telemetry_mdt.go b/plugins/inputs/cisco_telemetry_mdt/cisco_telemetry_mdt.go index e23d4d68a..2d13f5452 100644 --- a/plugins/inputs/cisco_telemetry_mdt/cisco_telemetry_mdt.go +++ b/plugins/inputs/cisco_telemetry_mdt/cisco_telemetry_mdt.go @@ -412,9 +412,13 @@ func (c *CiscoTelemetryMDT) handleTelemetry(data []byte) { prefix := "" switch subfield.Name { case "operation-metric": - prefix = subfield.Fields[0].Fields[0].GetStringValue() + if len(subfield.Fields[0].Fields) > 0 { + prefix = subfield.Fields[0].Fields[0].GetStringValue() + } case "class-stats": - prefix = subfield.Fields[0].Fields[1].GetStringValue() + if len(subfield.Fields[0].Fields) > 1 { + prefix = subfield.Fields[0].Fields[1].GetStringValue() + } } c.parseContentField(grouper, subfield, prefix, encodingPath, tags, timestamp) }