* [Qemu-devel] [PATCH] exec: fix error handling in file_ram_alloc
@ 2016-03-17 22:51 Paolo Bonzini
2016-03-18 7:54 ` Laszlo Ersek
0 siblings, 1 reply; 2+ messages in thread
From: Paolo Bonzini @ 2016-03-17 22:51 UTC (permalink / raw)
To: qemu-devel; +Cc: armbru
One instance of double closing, and invalid close(-1) in some cases
of "goto error".
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
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
--
2.5.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [PATCH] exec: fix error handling in file_ram_alloc
2016-03-17 22:51 [Qemu-devel] [PATCH] exec: fix error handling in file_ram_alloc Paolo Bonzini
@ 2016-03-18 7:54 ` Laszlo Ersek
0 siblings, 0 replies; 2+ messages in thread
From: Laszlo Ersek @ 2016-03-18 7:54 UTC (permalink / raw)
To: Paolo Bonzini, qemu-devel; +Cc: armbru
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 <pbonzini@redhat.com>
> ---
> 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 <lersek@redhat.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-03-18 7:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-17 22:51 [Qemu-devel] [PATCH] exec: fix error handling in file_ram_alloc Paolo Bonzini
2016-03-18 7:54 ` Laszlo Ersek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).