[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 14/38] net/socket: Fix invalid socket type error
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH v4 14/38] net/socket: Fix invalid socket type error handling |
Date: |
Wed, 17 Oct 2018 10:26:38 +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>
---
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
- [Qemu-devel] [PATCH v4 00/38] Replace some unwise uses of error_report() & friends, Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 14/38] net/socket: Fix invalid socket type error handling,
Markus Armbruster <=
- [Qemu-devel] [PATCH v4 12/38] migration: Fix !replay_can_snapshot() error handling, Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 01/38] error: Fix use of error_prepend() with &error_fatal, &error_abort, Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 16/38] xen/pt: Fix incomplete conversion to realize(), Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 02/38] Use error_fatal to simplify obvious fatal errors (again), Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 08/38] 9pfs: Fix CLI parsing crash on error, Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 03/38] block: Use warn_report() & friends to report warnings, Markus Armbruster, 2018/10/17
- [Qemu-devel] [PATCH v4 18/38] vl: Clean up error reporting in parse_add_fd(), Markus Armbruster, 2018/10/17