[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 13/31] net/socket: Fix invalid socket type error han
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH 13/31] net/socket: Fix invalid socket type error handling |
Date: |
Mon, 8 Oct 2018 19:31:07 +0200 |
Calling error_report() in a function that takes an Error ** argument
is suspicious. net_socket_fd_init() does that, and then fails without
setting an error. Wrong. I didn't analyze how exactly this can
break. A caller that reports the error on failure would crash.
Broken when commit c37f0bb1d0d (v2.11.0) converted the function to
Error. Fix by calling error_setg() instead of error_report().
Fixes: c37f0bb1d0d24e3a6b5f4659bb305913dcb798a6
Cc: Jason Wang <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
---
net/socket.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/socket.c b/net/socket.c
index 6917fbcbf5..90ef3517be 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -453,8 +453,8 @@ static NetSocketState *net_socket_fd_init(NetClientState
*peer,
case SOCK_STREAM:
return net_socket_fd_init_stream(peer, model, name, fd, is_connected);
default:
- error_report("socket type=%d for fd=%d must be either"
- " SOCK_DGRAM or SOCK_STREAM", so_type, fd);
+ error_setg(errp, "socket type=%d for fd=%d must be either"
+ " SOCK_DGRAM or SOCK_STREAM", so_type, fd);
closesocket(fd);
}
return NULL;
--
2.17.1
- Re: [Qemu-devel] [PATCH 17/31] vl: Clean up error reporting in parse_add_fd(), (continued)
- [Qemu-devel] [PATCH 06/31] char: Use error_printf() to print help and such, Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 02/31] block: Use warn_report() & friends to report warnings, Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 27/31] spice: Clean up error reporting in add_channel(), Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 10/31] smbios: Clean up error handling in smbios_add(), Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 13/31] net/socket: Fix invalid socket type error handling,
Markus Armbruster <=
- [Qemu-devel] [PATCH 15/31] xen/pt: Fix incomplete conversion to realize(), Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 28/31] fsdev: Clean up error reporting in qemu_fsdev_add(), Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 07/31] 9pfs: Fix CLI parsing crash on error, Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 30/31] blockdev: Convert drive_new() to Error, Markus Armbruster, 2018/10/08