cleanup code is identical for error/success cases. Only difference are goto labels.
Signed-off-by: Juan Quintela <quint...@redhat.com> --- block/vmdk.c | 13 ++++--------- 1 files changed, 4 insertions(+), 9 deletions(-) diff --git a/block/vmdk.c b/block/vmdk.c index 819c1c9..007fca4 100644 --- a/block/vmdk.c +++ b/block/vmdk.c @@ -334,18 +334,13 @@ static int vmdk_snapshot_create(const char *filename, const char *backing_file) ret = -errno; goto fail_gd; } - qemu_free(gd_buf); - qemu_free(rgd_buf); - - close(p_fd); - close(snp_fd); - return 0; + ret = 0; - fail_gd: +fail_gd: qemu_free(gd_buf); - fail_rgd: +fail_rgd: qemu_free(rgd_buf); - fail: +fail: close(p_fd); close(snp_fd); return ret; -- 1.6.6.1