Re: [libvirt PATCH] check for NULL before calling g_regex_unref

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
Fixes: 71efb59a4de7c51b1bc889a316f1796ebf55738f
https://bugzilla.redhat.com/show_bug.cgi?id=1861176

Reviewed-by: Martin Kletzander <mkletzan@xxxxxxxxxx>

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

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux