diff --git a/pkg/ueps/reader.go b/pkg/ueps/reader.go index 7608335..12b1538 100644 --- a/pkg/ueps/reader.go +++ b/pkg/ueps/reader.go @@ -62,47 +62,47 @@ func ReadAndVerify(reader *bufio.Reader, sharedSecret []byte) (*ParsedPacket, er length := int(lengthByte) // 4. Read Value - value := make([]byte, length) - if _, err := io.ReadFull(reader, value); err != nil { + tagValue := make([]byte, length) + if _, err := io.ReadFull(reader, tagValue); err != nil { return nil, err } // Store for processing switch tag { case TagVersion: - header.Version = value[0] + header.Version = tagValue[0] // Reconstruct signed data: Tag + Len + Val signedData.WriteByte(tag) signedData.WriteByte(byte(length)) - signedData.Write(value) + signedData.Write(tagValue) case TagCurrentLayer: - header.CurrentLayer = value[0] + header.CurrentLayer = tagValue[0] signedData.WriteByte(tag) signedData.WriteByte(byte(length)) - signedData.Write(value) + signedData.Write(tagValue) case TagTargetLayer: - header.TargetLayer = value[0] + header.TargetLayer = tagValue[0] signedData.WriteByte(tag) signedData.WriteByte(byte(length)) - signedData.Write(value) + signedData.Write(tagValue) case TagIntent: - header.IntentID = value[0] + header.IntentID = tagValue[0] signedData.WriteByte(tag) signedData.WriteByte(byte(length)) - signedData.Write(value) + signedData.Write(tagValue) case TagThreatScore: - header.ThreatScore = binary.BigEndian.Uint16(value) + header.ThreatScore = binary.BigEndian.Uint16(tagValue) signedData.WriteByte(tag) signedData.WriteByte(byte(length)) - signedData.Write(value) + signedData.Write(tagValue) case TagHMAC: - signature = value + signature = tagValue // We do NOT add the HMAC itself to signedData default: // Unknown tag (future proofing), verify it but ignore semantics signedData.WriteByte(tag) signedData.WriteByte(byte(length)) - signedData.Write(value) + signedData.Write(tagValue) } }