Hi
On Fri, May 7, 2021 at 9:22 PM Philippe Mathieu-Daudé <philmd@redhat.com>
wrote:
> The ALLOCA(3) man-page mentions its "use is discouraged".
>
> Directly reserve the CharBackend on the stack.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> tests/unit/test-char.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/tests/unit/test-char.c b/tests/unit/test-char.c
> index 5b3b48ebacd..54ce26226b3 100644
> --- a/tests/unit/test-char.c
> +++ b/tests/unit/test-char.c
> @@ -574,7 +574,7 @@ static void char_udp_test_internal(Chardev *reuse_chr,
> int sock)
> struct sockaddr_in other;
> SocketIdleData d = { 0, };
> Chardev *chr;
> - CharBackend *be;
> + CharBackend tmpbe, *be = &tmpbe;
>
Why introduce tmpbe? to avoid some code churn? I would rather update the
code to use be. or &be.
socklen_t alen = sizeof(other);
> int ret;
> char buf[10];
> @@ -590,7 +590,6 @@ static void char_udp_test_internal(Chardev *reuse_chr,
> int sock)
> chr = qemu_chr_new("client", tmp, NULL);
> g_assert_nonnull(chr);
>
> - be = g_alloca(sizeof(CharBackend));
> qemu_chr_fe_init(be, chr, &error_abort);
> }
>
> --
> 2.26.3
>
>
>
--
Marc-André Lureau