Hi
On Mon, Oct 8, 2018 at 9:51 PM Markus Armbruster <armbru@redhat.com> wrote:
>
> Calling error_report() in a function that takes an Error ** argument
> is suspicious. chardev_init_func() does that, and then fails without
> setting an error. Its caller main(), via qemu_opts_foreach(), is fine
> with it, but clean it up anyway.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
commit title is wrong, apart from that:
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
> vl.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/vl.c b/vl.c
> index b8576f8f10..ecb70f87d8 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2239,7 +2239,7 @@ static int chardev_init_func(void *opaque, QemuOpts *opts, Error **errp)
>
> if (!qemu_chr_new_from_opts(opts, &local_err)) {
> if (local_err) {
> - error_report_err(local_err);
> + error_propagate(errp, local_err);
> return -1;
> }
> exit(0);
> @@ -4185,10 +4185,8 @@ int main(int argc, char **argv, char **envp)
> user_creatable_add_opts_foreach,
> object_create_initial, &error_fatal);
>
> - if (qemu_opts_foreach(qemu_find_opts("chardev"),
> - chardev_init_func, NULL, NULL)) {
> - exit(1);
> - }
> + qemu_opts_foreach(qemu_find_opts("chardev"),
> + chardev_init_func, NULL, &error_fatal);
>
> #ifdef CONFIG_VIRTFS
> if (qemu_opts_foreach(qemu_find_opts("fsdev"),
> --
> 2.17.1
>
>
--
Marc-André Lureau