Skip to content

Commit 12b6602

Browse files
gldrkrafaeljw
authored andcommitted
ACPICA: utilities: Fix overflow check in vsnprintf()
ACPICA commit d9d59b7918514ae55063b93f3ec041b1a569bf49 The old version breaks sprintf on 64-bit systems for buffers outside [0..UINT32_MAX]. Link: acpica/acpica@d9d59b79 Signed-off-by: Rafael J. Wysocki <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: gldrk <[email protected]> [ rjw: Added the tag from gldrk ] Signed-off-by: Rafael J. Wysocki <[email protected]>
1 parent eedf3e3 commit 12b6602

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

drivers/acpi/acpica/utprint.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -333,11 +333,8 @@ int vsnprintf(char *string, acpi_size size, const char *format, va_list args)
333333

334334
pos = string;
335335

336-
if (size != ACPI_UINT32_MAX) {
337-
end = string + size;
338-
} else {
339-
end = ACPI_CAST_PTR(char, ACPI_UINT32_MAX);
340-
}
336+
size = ACPI_MIN(size, ACPI_PTR_DIFF(ACPI_MAX_PTR, string));
337+
end = string + size;
341338

342339
for (; *format; ++format) {
343340
if (*format != '%') {

0 commit comments

Comments
 (0)