Message ID | 20210505211047.1496765-5-philmd@redhat.com |
---|---|
State | New |
Headers | show |
Series | misc: Remove variable-length arrays on the stack | expand |
Philippe Mathieu-Daudé, le mer. 05 mai 2021 23:10:28 +0200, a ecrit: > Use autofree heap allocation instead of variable-length > array on the stack. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> > --- > chardev/baum.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/chardev/baum.c b/chardev/baum.c > index 0822e9ed5f3..bc09cda3471 100644 > --- a/chardev/baum.c > +++ b/chardev/baum.c > @@ -299,7 +299,8 @@ static void baum_chr_accept_input(struct Chardev *chr) > static void baum_write_packet(BaumChardev *baum, const uint8_t *buf, int len) > { > Chardev *chr = CHARDEV(baum); > - uint8_t io_buf[1 + 2 * len], *cur = io_buf; > + g_autofree uint8_t *io_buf = g_malloc(1 + 2 * len); > + uint8_t *cur = io_buf; > int room; > *cur++ = ESC; > while (len--) > -- > 2.26.3 >
On Thu, May 6, 2021 at 1:15 AM Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > Use autofree heap allocation instead of variable-length > array on the stack. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> --- > chardev/baum.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/chardev/baum.c b/chardev/baum.c > index 0822e9ed5f3..bc09cda3471 100644 > --- a/chardev/baum.c > +++ b/chardev/baum.c > @@ -299,7 +299,8 @@ static void baum_chr_accept_input(struct Chardev *chr) > static void baum_write_packet(BaumChardev *baum, const uint8_t *buf, int > len) > { > Chardev *chr = CHARDEV(baum); > - uint8_t io_buf[1 + 2 * len], *cur = io_buf; > + g_autofree uint8_t *io_buf = g_malloc(1 + 2 * len); > fwiw, for non-bottleneck code, I would simply use g_malloc0() everywhere, ymmv + uint8_t *cur = io_buf; > int room; > *cur++ = ESC; > while (len--) > -- > 2.26.3 > > >
diff --git a/chardev/baum.c b/chardev/baum.c index 0822e9ed5f3..bc09cda3471 100644 --- a/chardev/baum.c +++ b/chardev/baum.c @@ -299,7 +299,8 @@ static void baum_chr_accept_input(struct Chardev *chr) static void baum_write_packet(BaumChardev *baum, const uint8_t *buf, int len) { Chardev *chr = CHARDEV(baum); - uint8_t io_buf[1 + 2 * len], *cur = io_buf; + g_autofree uint8_t *io_buf = g_malloc(1 + 2 * len); + uint8_t *cur = io_buf; int room; *cur++ = ESC; while (len--)
Use autofree heap allocation instead of variable-length array on the stack. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- chardev/baum.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)