On 12/03/2013 06:26 AM, Benoît Canet wrote: > Signed-off-by: Benoit Canet <ben...@irqsave.net> > --- > block.c | 42 +++++++++++++++++++++++++++++++++++++----- > 1 file changed, 37 insertions(+), 5 deletions(-) >
> @@ -880,7 +881,14 @@ int bdrv_file_open(BlockDriverState **pbs, const char > *filename, > options = qdict_new(); > } > > - bs = bdrv_new("", ""); > + node_name = qdict_get_try_str(options, "node-name"); > + if (node_name && bdrv_find_node(node_name)) { > + error_setg(errp, "Duplicate node name"); > + return -EINVAL; This leaks options on failure. > @@ -1053,6 +1070,21 @@ int bdrv_open(BlockDriverState *bs, const char > *filename, QDict *options, > options = qdict_new(); > } > > + node_name = qdict_get_try_str(options, "node-name"); > + if (node_name && bdrv_find_node(node_name)) { > + error_setg(errp, "Duplicate node name"); > + return -EINVAL; So does this. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature