Hi

On Mon, Oct 30, 2023 at 5:37 PM Markus Armbruster <arm...@redhat.com> wrote:
>
> When dump_init()'s check for non-zero @length fails, dump_cleanup()
> passes null s->string_table_buf to g_array_unref(), which spews "GLib:
> g_array_unref: assertion 'array' failed" to stderr.
>
> Guard the g_array_unref().
>
> Signed-off-by: Markus Armbruster <arm...@redhat.com>

Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com>

> ---
>  dump/dump.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/dump/dump.c b/dump/dump.c
> index a1fad17f9c..d8ea364af2 100644
> --- a/dump/dump.c
> +++ b/dump/dump.c
> @@ -100,7 +100,9 @@ static int dump_cleanup(DumpState *s)
>      memory_mapping_list_free(&s->list);
>      close(s->fd);
>      g_free(s->guest_note);
> -    g_array_unref(s->string_table_buf);
> +    if (s->string_table_buf) {
> +        g_array_unref(s->string_table_buf);
> +    }

or:
g_clear_pointer(&s->string_table_buf, g_array_unref)

>      s->guest_note = NULL;
>      if (s->resume) {
>          if (s->detached) {
> --
> 2.41.0
>


Reply via email to