[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 23/39] chardev/baum: Use definitions to avoid dynamic stack alloca
From: |
Peter Maydell |
Subject: |
[PULL 23/39] chardev/baum: Use definitions to avoid dynamic stack allocation |
Date: |
Thu, 22 Sep 2022 17:35:20 +0100 |
From: Philippe Mathieu-Daudé <philmd@redhat.com>
We know 'x * y' will be at most 'X_MAX * Y_MAX' (which is not
a big value, it is actually 84). Instead of having the compiler
use variable-length array, declare an array able to hold the
maximum 'x * y'.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20220819153931.3147384-3-peter.maydell@linaro.org
---
chardev/baum.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/chardev/baum.c b/chardev/baum.c
index 6d538808a0f..6a210ffd815 100644
--- a/chardev/baum.c
+++ b/chardev/baum.c
@@ -383,9 +383,9 @@ static int baum_eat_packet(BaumChardev *baum, const uint8_t
*buf, int len)
switch (req) {
case BAUM_REQ_DisplayData:
{
- uint8_t cells[baum->x * baum->y], c;
- uint8_t text[baum->x * baum->y];
- uint8_t zero[baum->x * baum->y];
+ uint8_t cells[X_MAX * Y_MAX], c;
+ uint8_t text[X_MAX * Y_MAX];
+ uint8_t zero[X_MAX * Y_MAX];
int cursor = BRLAPI_CURSOR_OFF;
int i;
@@ -408,7 +408,7 @@ static int baum_eat_packet(BaumChardev *baum, const uint8_t
*buf, int len)
}
timer_del(baum->cellCount_timer);
- memset(zero, 0, sizeof(zero));
+ memset(zero, 0, baum->x * baum->y);
brlapi_writeArguments_t wa = {
.displayNumber = BRLAPI_DISPLAY_DEFAULT,
--
2.25.1
- [PULL 08/39] target/arm: Use GetPhysAddrResult in get_phys_addr_pmsav7, (continued)
- [PULL 08/39] target/arm: Use GetPhysAddrResult in get_phys_addr_pmsav7, Peter Maydell, 2022/09/22
- [PULL 04/39] target/arm: Use GetPhysAddrResult in get_phys_addr_lpae, Peter Maydell, 2022/09/22
- [PULL 09/39] target/arm: Use GetPhysAddrResult in get_phys_addr_pmsav8, Peter Maydell, 2022/09/22
- [PULL 12/39] target/arm: Add is_secure parameter to v8m_security_lookup, Peter Maydell, 2022/09/22
- [PULL 16/39] target/arm: Add secure parameter to get_phys_addr_pmsav8, Peter Maydell, 2022/09/22
- [PULL 01/39] hw/net/can: fix Xilinx ZynqMP CAN RX FIFO logic, Peter Maydell, 2022/09/22
- [PULL 31/39] ui/curses: Avoid dynamic stack allocation, Peter Maydell, 2022/09/22
- [PULL 10/39] target/arm: Use GetPhysAddrResult in pmsav8_mpu_lookup, Peter Maydell, 2022/09/22
- [PULL 32/39] tests/unit/test-vmstate: Avoid dynamic stack allocation, Peter Maydell, 2022/09/22
- [PULL 21/39] hw/net/lan9118: Signal TSFL_INT flag when TX FIFO reaches specified level, Peter Maydell, 2022/09/22
- [PULL 23/39] chardev/baum: Use definitions to avoid dynamic stack allocation,
Peter Maydell <=
- [PULL 28/39] hw/intc/xics: Avoid dynamic stack allocation, Peter Maydell, 2022/09/22
- [PULL 18/39] target/arm: Add secure parameter to get_phys_addr_pmsav7, Peter Maydell, 2022/09/22
- [PULL 30/39] hw/usb/hcd-ohci: Use definition to avoid dynamic stack allocation, Peter Maydell, 2022/09/22
- [PULL 25/39] io/channel-websock: Replace strlen(const_str) by sizeof(const_str) - 1, Peter Maydell, 2022/09/22
- [PULL 24/39] chardev/baum: Avoid dynamic stack allocation, Peter Maydell, 2022/09/22
- [PULL 26/39] hw/net/e1000e_core: Use definition to avoid dynamic stack allocation, Peter Maydell, 2022/09/22
- [PULL 29/39] hw/i386/multiboot: Avoid dynamic stack allocation, Peter Maydell, 2022/09/22
- [PULL 20/39] hw/acpi: Add ospm_status hook implementation for acpi-ged, Peter Maydell, 2022/09/22
- [PULL 37/39] configure: Remove use of backtick `...` syntax, Peter Maydell, 2022/09/22
- [PULL 35/39] configure: Add missing quoting for some easy cases, Peter Maydell, 2022/09/22