[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] exec: fix error handling in file_ram_alloc
From: |
Laszlo Ersek |
Subject: |
Re: [Qemu-devel] [PATCH] exec: fix error handling in file_ram_alloc |
Date: |
Fri, 18 Mar 2016 08:54:23 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.0 |
On 03/17/16 23:51, Paolo Bonzini wrote:
> One instance of double closing, and invalid close(-1) in some cases
> of "goto error".
>
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
> exec.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/exec.c b/exec.c
> index f398d21..5c16f41 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -1238,7 +1238,7 @@ static void *file_ram_alloc(RAMBlock *block,
> char *sanitized_name;
> char *c;
> void *area;
> - int fd;
> + int fd = -1;
> int64_t page_size;
>
> if (kvm_enabled() && !kvm_has_sync_mmu()) {
> @@ -1320,7 +1320,6 @@ static void *file_ram_alloc(RAMBlock *block,
> if (area == MAP_FAILED) {
> error_setg_errno(errp, errno,
> "unable to map backing store for guest RAM");
> - close(fd);
> goto error;
> }
>
> @@ -1335,7 +1334,9 @@ error:
> if (unlink_on_error) {
> unlink(path);
> }
> - close(fd);
> + if (fd != -1) {
> + close(fd);
> + }
> return NULL;
> }
> #endif
>
Reviewed-by: Laszlo Ersek <address@hidden>