Comments
Patch
@@ -242,6 +242,11 @@ static int add_rule(QemuOpts *opts, void *opaque)
return 0;
}
+static int free_opts(QemuOpts *opts, void *opaque) {
+ qemu_opts_del(opts);
+ return 0;
+}
+
static int read_config(BDRVBlkdebugState *s, const char *filename)
{
FILE *f;
@@ -267,6 +272,8 @@ static int read_config(BDRVBlkdebugState *s, const char *filename)
ret = 0;
fail:
+ qemu_opts_foreach(&inject_error_opts, free_opts, NULL, 0);
+ qemu_opts_foreach(&set_state_opts, free_opts, NULL, 0);
fclose(f);
return ret;
}
Forgetting to free them means that the next instance inherits all rules and gets its own rules only additionally. Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- block/blkdebug.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)