virQEMUCapsNewBinary: Avoid NULL dereference

Even with GLib it is still possible for virQEMUCapsNew() to
return NULL because it calls virQEMUCapsInitialize() which is a
wrapper over pthread_once() which may fail. At least, we still
check for its retval. If it so happens that the virQEMUCapsNew()
fails and returns NULL, we should not dereference it.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Michal Privoznik 2020-03-30 10:56:08 +02:00
parent de1ac5930a
commit ef4719ac17

View File

@ -1713,7 +1713,8 @@ virQEMUCapsNewBinary(const char *binary)
{
virQEMUCapsPtr qemuCaps = virQEMUCapsNew();
qemuCaps->binary = g_strdup(binary);
if (qemuCaps)
qemuCaps->binary = g_strdup(binary);
return qemuCaps;
}