diff options
| author | gldrk <me@rarity.fan> | 2025-04-25 21:21:52 +0200 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2025-05-12 15:37:50 +0200 |
| commit | 12b660251007e00a3e4d47ec62dbe3a7ace7023e (patch) | |
| tree | 80a7196cf54e065e3e0b70984c19aafa7d6125e8 | |
| parent | ACPICA: Apply pack(1) to union aml_resource (diff) | |
| download | linux-12b660251007e00a3e4d47ec62dbe3a7ace7023e.tar.gz linux-12b660251007e00a3e4d47ec62dbe3a7ace7023e.zip | |
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: 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>
| -rw-r--r-- | drivers/acpi/acpica/utprint.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/acpi/acpica/utprint.c b/drivers/acpi/acpica/utprint.c index 42b30b9f9312..7fad03c5252c 100644 --- 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 != '%') { |
