Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dp-acpi.c: fix incorrect error handling of efidp_node_size() invocations
One of our analysis tools noticed the following error: Error: OVERRUN (CWE-119): efivar-38/src/dp-acpi.c:106: return_constant: Function call "efidp_node_size(dp)" may return -1. efivar-38/src/dp-acpi.c:106: overrun-buffer-arg: Calling "format_hex_helper" with "(uint8_t *)dp + 4" and "(efidp_node_size(dp) - 4L) / 2L" is suspicious because of the very large index, 18446744073709551614. The index may be due to a negative parameter being interpreted as unsigned. # 104| debug("DP subtype %d, formatting as ACPI Path", dp->subtype); # 105| format(buf, size, off, "AcpiPath", "AcpiPath(%d,", dp->subtype); # 106|-> format_hex(buf, size, off, "AcpiPath", (uint8_t *)dp+4, # 107| (efidp_node_size(dp)-4) / 2); # 108| format(buf, size, off, "AcpiPath", ")"); This patch adds error checking to that use of efidp_node_size(). Resolves: RHEL-27676 Signed-off-by: Peter Jones <[email protected]>
- Loading branch information