[libvirt] [PATCH 0/6] Fix some Coverity issues

Jim Fehlig jfehlig at suse.com
Fri Oct 2 00:47:28 UTC 2015


On 09/23/2015 05:18 PM, John Ferlan wrote:
> Newer Coverity (7.7.0) found a couple real issues and a few more
> false positives. There's still a few more to be resolved, but still
> trying to figure them out...
>
> libxlDomainMigrationPrepare - claim is args is leaked. Although
>      it seems to be handled in libxlMigrateReceive or libxlDoMigrateReceive.
>      Don't know the code well enough to do proper triage.

args is a subclass of virObject. It is freed when refcnt reaches zero and the 
dispose function is called.

args is created (refcnt=1) in libxlDomainMigrationPrepare() and added to the 
virNetSocket IO callback. When the sender connects, the callback invokes 
libxlMigrateReceive() passing args. libxlMigrateReceive() starts a thread to 
receive the migration data (avoids blocking the event loop while receiving the 
migration data :-)), passing args to the thread start function, 
libxlDoMigrateReceive(). args is unref'ed in libxlMigrateReceive() if there are 
any failures, otherwise args is unref'ed in libxlDoMigrateReceive().

Regards,
Jim




More information about the libvir-list mailing list