The Monday 26 May 2014 à 19:37:10 (+0200), Markus Armbruster wrote : > Introduced in commit f298d07. Spotted by Coverity. > > Signed-off-by: Markus Armbruster <arm...@redhat.com> > --- > blockdev.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/blockdev.c b/blockdev.c > index 6460c70..7ec7d79 100644 > --- a/blockdev.c > +++ b/blockdev.c > @@ -941,6 +941,7 @@ DriveInfo *drive_init(QemuOpts *all_opts, > BlockInterfaceType block_default_type) > > /* Actual block device init: Functionality shared with blockdev-add */ > dinfo = blockdev_init(filename, bs_opts, &local_err); > + bs_opts = NULL; > if (dinfo == NULL) { > if (local_err) { > qerror_report_err(local_err); > @@ -978,6 +979,7 @@ DriveInfo *drive_init(QemuOpts *all_opts, > BlockInterfaceType block_default_type) > > fail: > qemu_opts_del(legacy_opts); > + QDECREF(bs_opts); > return dinfo; > } > > -- > 1.9.3 > >
This commits seems to fix two thing a leak and a double free. Maybe reflecting this on the commit message would make the bs_opts = NULL; clearer. Best regards Benoît