fix(inputs.cisco_telemetry_mdt): check subfield sizes to avoid panics (#12637)

This commit is contained in:
Joshua Powers 2023-02-08 09:48:25 -07:00 committed by GitHub
parent 5bbf790242
commit 8af579752f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 2 deletions

View File

@ -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)
}