qemu-img: eliminate memory leak
Not particularly important since qemu-img exits immediately after calling img_rebase, but easily fixed. Coverity says thanks. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Alberto Garcia <berto@igalia.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
0dcee62261
commit
396374caea
@ -2775,6 +2775,8 @@ static int img_snapshot(int argc, char **argv)
|
|||||||
static int img_rebase(int argc, char **argv)
|
static int img_rebase(int argc, char **argv)
|
||||||
{
|
{
|
||||||
BlockBackend *blk = NULL, *blk_old_backing = NULL, *blk_new_backing = NULL;
|
BlockBackend *blk = NULL, *blk_old_backing = NULL, *blk_new_backing = NULL;
|
||||||
|
uint8_t *buf_old = NULL;
|
||||||
|
uint8_t *buf_new = NULL;
|
||||||
BlockDriverState *bs = NULL;
|
BlockDriverState *bs = NULL;
|
||||||
char *filename;
|
char *filename;
|
||||||
const char *fmt, *cache, *src_cache, *out_basefmt, *out_baseimg;
|
const char *fmt, *cache, *src_cache, *out_basefmt, *out_baseimg;
|
||||||
@ -2957,8 +2959,6 @@ static int img_rebase(int argc, char **argv)
|
|||||||
int64_t new_backing_num_sectors = 0;
|
int64_t new_backing_num_sectors = 0;
|
||||||
uint64_t sector;
|
uint64_t sector;
|
||||||
int n;
|
int n;
|
||||||
uint8_t * buf_old;
|
|
||||||
uint8_t * buf_new;
|
|
||||||
float local_progress = 0;
|
float local_progress = 0;
|
||||||
|
|
||||||
buf_old = blk_blockalign(blk, IO_BUF_SIZE);
|
buf_old = blk_blockalign(blk, IO_BUF_SIZE);
|
||||||
@ -3070,9 +3070,6 @@ static int img_rebase(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
qemu_progress_print(local_progress, 100);
|
qemu_progress_print(local_progress, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
qemu_vfree(buf_old);
|
|
||||||
qemu_vfree(buf_new);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -3108,6 +3105,8 @@ out:
|
|||||||
blk_unref(blk_old_backing);
|
blk_unref(blk_old_backing);
|
||||||
blk_unref(blk_new_backing);
|
blk_unref(blk_new_backing);
|
||||||
}
|
}
|
||||||
|
qemu_vfree(buf_old);
|
||||||
|
qemu_vfree(buf_new);
|
||||||
|
|
||||||
blk_unref(blk);
|
blk_unref(blk);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
Loading…
Reference in New Issue
Block a user