[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 16/40] net/socket: Fix invalid socket type error hand
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PULL 16/40] net/socket: Fix invalid socket type error handling |
Date: |
Mon, 22 Oct 2018 14:33:49 +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>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <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.2
- [Qemu-devel] [PULL 27/40] ui/keymaps: Fix handling of erroneous include files, (continued)
- [Qemu-devel] [PULL 27/40] ui/keymaps: Fix handling of erroneous include files, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 10/40] 9pfs: Fix CLI parsing crash on error, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 25/40] vl: Clean up error reporting in parse_fw_cfg(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 24/40] vl: Clean up error reporting in mon_init_func(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 22/40] vl: Clean up error reporting in chardev_init_func(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 35/40] blockdev: Convert drive_new() to Error, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 39/40] vpc: Fail open on bad header checksum, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 20/40] vl: Clean up error reporting in parse_add_fd(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 30/40] numa: Clean up error reporting in parse_numa(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 08/40] vfio: Clean up error reporting after previous commit, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 16/40] net/socket: Fix invalid socket type error handling,
Markus Armbruster <=
- [Qemu-devel] [PULL 19/40] seccomp: Clean up error reporting in parse_sandbox(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 28/40] ui: Convert vnc_display_init(), init_keyboard_layout() to Error, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 33/40] fsdev: Clean up error reporting in qemu_fsdev_add(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 09/40] char: Use error_printf() to print help and such, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 21/40] qom: Clean up error reporting in user_creatable_add_opts_foreach(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 17/40] numa: Fix QMP command set-numa-node error handling, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 13/40] smbios: Clean up error handling in smbios_add(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 14/40] migration: Fix !replay_can_snapshot() error handling, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 02/40] vl: Print error when using incorrect backend for debugcon, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 29/40] vnc: Clean up error reporting in vnc_init_func(), Markus Armbruster, 2018/10/22