[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 03/23] chardev/baum: Use definitions to avoid dynamic stack a
From: |
Samuel Thibault |
Subject: |
Re: [PATCH 03/23] chardev/baum: Use definitions to avoid dynamic stack allocation |
Date: |
Wed, 5 May 2021 23:14:09 +0200 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
Philippe Mathieu-Daudé, le mer. 05 mai 2021 23:10:27 +0200, a ecrit:
> 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: Samuel Thibault <samuel.thibault@ens-lyon.org>
> ---
> chardev/baum.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/chardev/baum.c b/chardev/baum.c
> index adc3d7b3b56..0822e9ed5f3 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.26.3
>
- [PATCH 00/23] misc: Remove variable-length arrays on the stack, Philippe Mathieu-Daudé, 2021/05/05
- [PATCH 01/23] block/vpc: Avoid dynamic stack allocation, Philippe Mathieu-Daudé, 2021/05/05
- [PATCH 02/23] chardev/baum: Replace magic values by X_MAX / Y_MAX definitions, Philippe Mathieu-Daudé, 2021/05/05
- [PATCH 03/23] chardev/baum: Use definitions to avoid dynamic stack allocation, Philippe Mathieu-Daudé, 2021/05/05
- [PATCH 04/23] chardev/baum: Avoid dynamic stack allocation, Philippe Mathieu-Daudé, 2021/05/05
- [PATCH 05/23] io/channel-websock: Replace strlen(const_str) by sizeof(const_str) - 1, Philippe Mathieu-Daudé, 2021/05/05
- [PATCH 06/23] hw/block/dataplane/virtio-blk: Avoid dynamic stack allocation, Philippe Mathieu-Daudé, 2021/05/05