]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virdomainjob: check if cb is not NULL before dereferencing
authorKristina Hanicova <khanicov@redhat.com>
Fri, 30 Sep 2022 11:51:28 +0000 (13:51 +0200)
committerJán Tomko <jtomko@redhat.com>
Fri, 30 Sep 2022 12:13:13 +0000 (14:13 +0200)
The callback struct does not always have to be set which could
cause a dereferencing of a NULL pointer. This patch adds check
against NULL in missing places before dereferencing.

Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
src/conf/virdomainjob.c

index 0c67e84ef19788d136d6fd81fa42bf29002f86c1..ca0215bc235d0a1e7bd9632aeb4ac5498d2aad2e 100644 (file)
@@ -626,7 +626,7 @@ virDomainObjEndJob(virDomainObj *obj)
 
     virDomainObjResetJob(obj->job);
 
-    if (virDomainTrackJob(job) &&
+    if (virDomainTrackJob(job) && obj->job->cb &&
         obj->job->cb->saveStatusPrivate)
         obj->job->cb->saveStatusPrivate(obj);
     /* We indeed need to wake up ALL threads waiting because
@@ -662,7 +662,7 @@ virDomainObjEndAsyncJob(virDomainObj *obj)
               obj, obj->def->name);
 
     virDomainObjResetAsyncJob(obj->job);
-    if (obj->job->cb->saveStatusPrivate)
+    if (obj->job->cb && obj->job->cb->saveStatusPrivate)
         obj->job->cb->saveStatusPrivate(obj);
     virCondBroadcast(&obj->job->asyncCond);
 }