[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().


More information about the libvir-list mailing list