projects
/
linux-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
eedf3e3
)
ACPICA: utilities: Fix overflow check in vsnprintf()
author
gldrk
<me@rarity.fan>
Fri, 25 Apr 2025 19:21:52 +0000
(21:21 +0200)
committer
Rafael J. Wysocki
<rafael.j.wysocki@intel.com>
Mon, 12 May 2025 13:37:50 +0000
(15:37 +0200)
ACPICA commit
d9d59b7918514ae55063b93f3ec041b1a569bf49
The old version breaks sprintf on 64-bit systems for buffers
outside [0..UINT32_MAX].
Link:
https://github.com/acpica/acpica/commit/d9d59b79
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link:
https://patch.msgid.link/4994935.GXAFRqVoOG@rjwysocki.net
Signed-off-by: gldrk <me@rarity.fan>
[ rjw: Added the tag from gldrk ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/utprint.c
patch
|
blob
|
blame
|
history
diff --git
a/drivers/acpi/acpica/utprint.c
b/drivers/acpi/acpica/utprint.c
index 42b30b9f93128e1c246875965010e2ab7930f8a2..7fad03c5252c3533999ad09c712254be767712ea 100644
(file)
--- a/
drivers/acpi/acpica/utprint.c
+++ b/
drivers/acpi/acpica/utprint.c
@@
-333,11
+333,8
@@
int vsnprintf(char *string, acpi_size size, const char *format, va_list args)
pos = string;
- if (size != ACPI_UINT32_MAX) {
- end = string + size;
- } else {
- end = ACPI_CAST_PTR(char, ACPI_UINT32_MAX);
- }
+ size = ACPI_MIN(size, ACPI_PTR_DIFF(ACPI_MAX_PTR, string));
+ end = string + size;
for (; *format; ++format) {
if (*format != '%') {