[libvirt] [PATCH] qemu: Unlink temporary file on failure

Eric Blake eblake at redhat.com
Tue Aug 2 15:45:55 UTC 2011


On 08/02/2011 09:36 AM, Michal Privoznik wrote:
> Although virFDStreamOpenFile will unlink it once opened, when we hit
> error path, we must unlink it by hand.
> ---
>   src/qemu/qemu_driver.c |    1 +
>   1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 09b2791..d860cd2 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -2930,6 +2930,7 @@ qemuDomainScreenshot(virDomainPtr dom,
>       ret = strdup("image/x-portable-pixmap");
>
>   endjob:
> +    unlink(tmp);
>       VIR_FORCE_CLOSE(tmp_fd);

Swap these two lines.  Mingw doesn't like unlinking open files.

Also, you MUST check that tmp is not NULL (which is possible on some of 
the error paths); unlink(NULL) is a no-no.

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org




More information about the libvir-list mailing list