Coverity points out that the code path in qcow_create() for
the magic "fat:" backing file name leaks the memory used to
store the filename (CID 1307771). Free the memory before
we overwrite the pointer.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
block/qcow.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/block/qcow.c b/block/qcow.c
index 95ab123..7bd94dc 100644
--- a/block/qcow.c
+++ b/block/qcow.c
@@ -852,6 +852,7 @@ static int qcow_create(const char *filename, QemuOpts *opts, Error **errp)
header_size += backing_filename_len;
} else {
/* special backing file for vvfat */
+ g_free(backing_file);
backing_file = NULL;
}
header.cluster_bits = 9; /* 512 byte cluster to avoid copying
--
2.7.4
On 06/05/2017 08:55 AM, Peter Maydell wrote:
> Coverity points out that the code path in qcow_create() for
> the magic "fat:" backing file name leaks the memory used to
> store the filename (CID 1307771). Free the memory before
> we overwrite the pointer.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> block/qcow.c | 1 +
> 1 file changed, 1 insertion(+)
Reviewed-by: Eric Blake <eblake@redhat.com>
>
> diff --git a/block/qcow.c b/block/qcow.c
> index 95ab123..7bd94dc 100644
> --- a/block/qcow.c
> +++ b/block/qcow.c
> @@ -852,6 +852,7 @@ static int qcow_create(const char *filename, QemuOpts *opts, Error **errp)
> header_size += backing_filename_len;
> } else {
> /* special backing file for vvfat */
> + g_free(backing_file);
> backing_file = NULL;
> }
> header.cluster_bits = 9; /* 512 byte cluster to avoid copying
>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
On 06/05/2017 10:55 AM, Peter Maydell wrote:
> Coverity points out that the code path in qcow_create() for
> the magic "fat:" backing file name leaks the memory used to
> store the filename (CID 1307771). Free the memory before
> we overwrite the pointer.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> block/qcow.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/block/qcow.c b/block/qcow.c
> index 95ab123..7bd94dc 100644
> --- a/block/qcow.c
> +++ b/block/qcow.c
> @@ -852,6 +852,7 @@ static int qcow_create(const char *filename, QemuOpts *opts, Error **errp)
> header_size += backing_filename_len;
> } else {
> /* special backing file for vvfat */
> + g_free(backing_file);
> backing_file = NULL;
> }
> header.cluster_bits = 9; /* 512 byte cluster to avoid copying
>
Am 05.06.2017 um 15:55 hat Peter Maydell geschrieben: > Coverity points out that the code path in qcow_create() for > the magic "fat:" backing file name leaks the memory used to > store the filename (CID 1307771). Free the memory before > we overwrite the pointer. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Thanks, applied to the block branch. Kevin
© 2016 - 2025 Red Hat, Inc.