* [PATCH-for-5.2] hw/smbios: Fix leaked fd in save_opt_one() error path
@ 2020-10-30 15:27 Philippe Mathieu-Daudé
2020-11-02 9:26 ` Stefano Garzarella
2020-11-02 15:20 ` Laszlo Ersek
0 siblings, 2 replies; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-30 15:27 UTC (permalink / raw)
To: qemu-devel
Cc: Laszlo Ersek, Igor Mammedov, Philippe Mathieu-Daudé,
Daniel P . Berrangé, Michael S. Tsirkin
Fix the following Coverity issue (RESOURCE_LEAK):
CID 1432879: Resource leak
Handle variable fd going out of scope leaks the handle.
Replace a close() call by qemu_close() since the handle is
opened with qemu_open().
Fixes: bb99f4772f5 ("hw/smbios: support loading OEM strings values from a file")
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
hw/smbios/smbios.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c
index 8b30906e50a..6a3d39793bc 100644
--- a/hw/smbios/smbios.c
+++ b/hw/smbios/smbios.c
@@ -988,16 +988,18 @@ static int save_opt_one(void *opaque,
if (ret < 0) {
error_setg(errp, "Unable to read from %s: %s",
value, strerror(errno));
+ qemu_close(fd);
return -1;
}
if (memchr(buf, '\0', ret)) {
error_setg(errp, "NUL in OEM strings value in %s", value);
+ qemu_close(fd);
return -1;
}
g_byte_array_append(data, (guint8 *)buf, ret);
}
- close(fd);
+ qemu_close(fd);
*opt->dest = g_renew(char *, *opt->dest, (*opt->ndest) + 1);
(*opt->dest)[*opt->ndest] = (char *)g_byte_array_free(data, FALSE);
--
2.26.2
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH-for-5.2] hw/smbios: Fix leaked fd in save_opt_one() error path
2020-10-30 15:27 [PATCH-for-5.2] hw/smbios: Fix leaked fd in save_opt_one() error path Philippe Mathieu-Daudé
@ 2020-11-02 9:26 ` Stefano Garzarella
2020-11-02 15:20 ` Laszlo Ersek
1 sibling, 0 replies; 3+ messages in thread
From: Stefano Garzarella @ 2020-11-02 9:26 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Igor Mammedov, Daniel P . Berrangé, Laszlo Ersek, qemu-devel,
Michael S. Tsirkin
On Fri, Oct 30, 2020 at 04:27:42PM +0100, Philippe Mathieu-Daudé wrote:
>Fix the following Coverity issue (RESOURCE_LEAK):
>
> CID 1432879: Resource leak
>
> Handle variable fd going out of scope leaks the handle.
>
>Replace a close() call by qemu_close() since the handle is
>opened with qemu_open().
>
>Fixes: bb99f4772f5 ("hw/smbios: support loading OEM strings values from a file")
>Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>---
> hw/smbios/smbios.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
>
>diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c
>index 8b30906e50a..6a3d39793bc 100644
>--- a/hw/smbios/smbios.c
>+++ b/hw/smbios/smbios.c
>@@ -988,16 +988,18 @@ static int save_opt_one(void *opaque,
> if (ret < 0) {
> error_setg(errp, "Unable to read from %s: %s",
> value, strerror(errno));
>+ qemu_close(fd);
> return -1;
> }
> if (memchr(buf, '\0', ret)) {
> error_setg(errp, "NUL in OEM strings value in %s", value);
>+ qemu_close(fd);
> return -1;
> }
> g_byte_array_append(data, (guint8 *)buf, ret);
> }
>
>- close(fd);
>+ qemu_close(fd);
>
> *opt->dest = g_renew(char *, *opt->dest, (*opt->ndest) + 1);
> (*opt->dest)[*opt->ndest] = (char *)g_byte_array_free(data, FALSE);
>--
>2.26.2
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH-for-5.2] hw/smbios: Fix leaked fd in save_opt_one() error path
2020-10-30 15:27 [PATCH-for-5.2] hw/smbios: Fix leaked fd in save_opt_one() error path Philippe Mathieu-Daudé
2020-11-02 9:26 ` Stefano Garzarella
@ 2020-11-02 15:20 ` Laszlo Ersek
1 sibling, 0 replies; 3+ messages in thread
From: Laszlo Ersek @ 2020-11-02 15:20 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Igor Mammedov, Daniel P . Berrangé, Michael S. Tsirkin
On 10/30/20 16:27, Philippe Mathieu-Daudé wrote:
> Fix the following Coverity issue (RESOURCE_LEAK):
>
> CID 1432879: Resource leak
>
> Handle variable fd going out of scope leaks the handle.
>
> Replace a close() call by qemu_close() since the handle is
> opened with qemu_open().
>
> Fixes: bb99f4772f5 ("hw/smbios: support loading OEM strings values from a file")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> hw/smbios/smbios.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c
> index 8b30906e50a..6a3d39793bc 100644
> --- a/hw/smbios/smbios.c
> +++ b/hw/smbios/smbios.c
> @@ -988,16 +988,18 @@ static int save_opt_one(void *opaque,
> if (ret < 0) {
> error_setg(errp, "Unable to read from %s: %s",
> value, strerror(errno));
> + qemu_close(fd);
> return -1;
> }
> if (memchr(buf, '\0', ret)) {
> error_setg(errp, "NUL in OEM strings value in %s", value);
> + qemu_close(fd);
> return -1;
> }
> g_byte_array_append(data, (guint8 *)buf, ret);
> }
>
> - close(fd);
> + qemu_close(fd);
>
> *opt->dest = g_renew(char *, *opt->dest, (*opt->ndest) + 1);
> (*opt->dest)[*opt->ndest] = (char *)g_byte_array_free(data, FALSE);
>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-11-02 15:24 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-30 15:27 [PATCH-for-5.2] hw/smbios: Fix leaked fd in save_opt_one() error path Philippe Mathieu-Daudé
2020-11-02 9:26 ` Stefano Garzarella
2020-11-02 15:20 ` 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).