summaryrefslogtreecommitdiffstats
path: root/scripts/tracetool
diff options
context:
space:
mode:
authorStefan Hajnoczi2020-02-14 18:17:08 +0100
committerStefan Hajnoczi2020-02-22 09:26:47 +0100
commitff29ed3a331d0cd26bcd30f7cd6c0c96c7d44eed (patch)
tree6bdf3c28cedf4f6cb5a63321d846f298fceb1ab9 /scripts/tracetool
parentutil/async: make bh_aio_poll() O(1) (diff)
downloadqemu-ff29ed3a331d0cd26bcd30f7cd6c0c96c7d44eed.tar.gz
qemu-ff29ed3a331d0cd26bcd30f7cd6c0c96c7d44eed.tar.xz
qemu-ff29ed3a331d0cd26bcd30f7cd6c0c96c7d44eed.zip
aio-posix: fix use after leaving scope in aio_poll()
epoll_handler is a stack variable and must not be accessed after it goes out of scope: if (aio_epoll_check_poll(ctx, pollfds, npfd, timeout)) { AioHandler epoll_handler; ... add_pollfd(&epoll_handler); ret = aio_epoll(ctx, pollfds, npfd, timeout); } ... ... /* if we have any readable fds, dispatch event */ if (ret > 0) { for (i = 0; i < npfd; i++) { nodes[i]->pfd.revents = pollfds[i].revents; } } nodes[0] is &epoll_handler, which has already gone out of scope. There is no need to use pollfds[] for epoll. We don't need an AioHandler for the epoll fd. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Sergio Lopez <slp@redhat.com> Message-id: 20200214171712.541358-2-stefanha@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'scripts/tracetool')
0 files changed, 0 insertions, 0 deletions