util/hda-decoder: Protect 'fields' slice if empty string

This avoids panic if the file contains an empty string or an incorrect
configuration:

goroutine 1 [running]:
main.decodeFile({0x7ffd63da92a0?, 0xc000014070?}, 0x8?)
	/path/to/coreboot/util/hda-decoder/main.go:72 +0x2ef
main.main()
	/path/to/coreboot/util/hda-decoder/main.go:158 +0x2a5

Change-Id: I9ae8544e52d82e8d8a82a88a85a2de7d2f295ec1
Signed-off-by: Maxim Polyakov <max.senia.poliak@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84101
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Maxim Polyakov 2024-08-27 17:08:39 +03:00 committed by Felix Held
commit 7f68483e28

View file

@ -69,6 +69,11 @@ func decodeFile(path string, codec uint32) {
for scanner.Scan() {
fields := strings.Fields(scanner.Text())
if len(fields) != 2 {
fmt.Print("// Something went wrong\n")
continue
}
pin := stringToUint32(fields[0])
config := stringToUint32(fields[1])