diff options
author | Philippe Mathieu-Daudé <philmd@redhat.com> | 2022-08-19 16:39:22 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2022-09-22 16:38:28 +0100 |
commit | 1e3acd33576c695262a09262c9319d44a01b11e7 (patch) | |
tree | 8ad2378f4bf21fa0ec499af055112e1eeb7e91b0 | |
parent | f63a6e381c48b796c3964accaa88c0d0e229b17f (diff) | |
download | qemu-1e3acd33576c695262a09262c9319d44a01b11e7.zip qemu-1e3acd33576c695262a09262c9319d44a01b11e7.tar.gz qemu-1e3acd33576c695262a09262c9319d44a01b11e7.tar.bz2 |
chardev/baum: Use definitions to avoid dynamic stack allocation
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
-rw-r--r-- | chardev/baum.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/chardev/baum.c b/chardev/baum.c index 6d53880..6a210ff 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, |