From: Kristina Hanicova Date: Fri, 30 Sep 2022 11:51:28 +0000 (+0200) Subject: virdomainjob: check if cb is not NULL before dereferencing X-Git-Tag: v8.8.0~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=39e98f41134f3474a0bf784e44ebb322bb49ab3d;p=thirdparty%2Flibvirt.git virdomainjob: check if cb is not NULL before dereferencing 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 Reviewed-by: Ján Tomko Signed-off-by: Ján Tomko --- diff --git a/src/conf/virdomainjob.c b/src/conf/virdomainjob.c index 0c67e84ef1..ca0215bc23 100644 --- a/src/conf/virdomainjob.c +++ b/src/conf/virdomainjob.c @@ -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); }