mb/getac/p470: Null-terminate ec_id string buffer
The EC ID of the ECDT needs to be null-terminated (see ACPI specification, section 5.2.15), which currently isn't being done due to an off-by-one error. strncpy() is bug-prone exactly because of issues like this, so just skip it entirely and use memcpy() instead. Change-Id: I0b62e1f32177c9768fa978053ab26bca93d7248d Signed-off-by: Jacob Garber <jgarber1@ualberta.ca> Found-by: Coverity CID 1402104 Reviewed-on: https://review.coreboot.org/c/coreboot/+/34374 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: HAOUAS Elyes <ehaouas@noos.fr>
This commit is contained in:
committed by
Patrick Georgi
parent
d552acac1d
commit
0db6e7569d
@@ -70,7 +70,7 @@ static long acpi_create_ecdt(acpi_ecdt_t * ecdt)
|
|||||||
|
|
||||||
ecdt->gpe_bit = 23; // SCI interrupt within GPEx_STS
|
ecdt->gpe_bit = 23; // SCI interrupt within GPEx_STS
|
||||||
|
|
||||||
strncpy((char *)ecdt->ec_id, ec_id, strlen(ec_id));
|
memcpy(ecdt->ec_id, ec_id, sizeof(ec_id));
|
||||||
|
|
||||||
header->checksum =
|
header->checksum =
|
||||||
acpi_checksum((void *) ecdt, ecdt_len);
|
acpi_checksum((void *) ecdt, ecdt_len);
|
||||||
|
Reference in New Issue
Block a user