mirror of https://github.com/xemu-project/xemu.git
aio/win32: aio_set_fd_handler() only supports SOCKET
Let's check if the argument is actually a SOCKET, else report an error and return. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Stefan Berger <stefanb@linux.ibm.com> Message-Id: <20230221124802.4103554-10-marcandre.lureau@redhat.com>
This commit is contained in:
parent
6eeef4477a
commit
e2a3a2193e
|
@ -22,6 +22,7 @@
|
|||
#include "qemu/sockets.h"
|
||||
#include "qapi/error.h"
|
||||
#include "qemu/rcu_queue.h"
|
||||
#include "qemu/error-report.h"
|
||||
|
||||
struct AioHandler {
|
||||
EventNotifier *e;
|
||||
|
@ -70,10 +71,14 @@ void aio_set_fd_handler(AioContext *ctx,
|
|||
IOHandler *io_poll_ready,
|
||||
void *opaque)
|
||||
{
|
||||
/* fd is a SOCKET in our case */
|
||||
AioHandler *old_node;
|
||||
AioHandler *node = NULL;
|
||||
|
||||
if (!fd_is_socket(fd)) {
|
||||
error_report("fd=%d is not a socket, AIO implementation is missing", fd);
|
||||
return;
|
||||
}
|
||||
|
||||
qemu_lockcnt_lock(&ctx->list_lock);
|
||||
QLIST_FOREACH(old_node, &ctx->aio_handlers, node) {
|
||||
if (old_node->pfd.fd == fd && !old_node->deleted) {
|
||||
|
|
Loading…
Reference in New Issue