[libvirt PATCH] check for NULL before calling g_regex_unref
mkletzan at redhat.com
Tue Sep 8 13:37:31 UTC 2020
On Tue, Sep 08, 2020 at 03:20:52PM +0200, Ján Tomko wrote:
>g_regex_unref reports an error if called with a NULL argument.
>We have two cases in the code where we (possibly) call it on a NULL
>argument. The interesting one is in virDomainQemuMonitorEventCleanup.
>Based on VIR_CONNECT_DOMAIN_QEMU_MONITOR_EVENT_REGISTER_REGEX, we unref
>data->regex, which has two problems:
>* On the client side, flags is -1 so the comparison is true even if no
> regex was used, reproducible by:
> $ virsh qemu-monitor-event --timeout 1
> which results in an ugly error:
>(process:1289846): GLib-CRITICAL **: 14:58:42.631: g_regex_unref: assertion 'regex != NULL' failed
>* On the server side, we only create the regex if both the flag and the
> string are present, so it's possible to trigger this message by:
> $ virsh qemu-monitor-event --regex --timeout 1
>Use a non-NULL comparison instead of the flag to decide whether we need
>to unref the regex.
>Signed-off-by: Ján Tomko <jtomko at redhat.com>
Reviewed-by: Martin Kletzander <mkletzan at redhat.com>
Any reason why regex_unref does not accept NULLs? It caught a misuse in the
first case, but the second one could just make the code cleaner. Maybe we could
create our own auto type over it? =D
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 833 bytes
Desc: not available
More information about the libvir-list