ithewei / libhv

🔥 比libevent/libuv/asio更易用的网络库。A c/c++ network library for developing TCP/UDP/SSL/HTTP/WebSocket/MQTT client/server.

Home Page:https://github.com/ithewei/libhv/wiki

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

iocp.c文件iowatcher_poll_events函数中结构体强转问题

liuyuananfang opened this issue · comments

在iocp.c文件iowatcher_poll_events函数中有一行代码:hoverlapped_t* hovlp = (hoverlapped_t*)povlp;
疑问:将OVERLAPPED结构体对象强转为它的超集hoverlapped_t对象,OVERLAPPED结构体的成员比hoverlapped_t结构体的成员少,这样强转后,直接访问io等成员变量,这么做难道不会产生“内存越界访问”的问题吗?

没问题了,是我看错了,这个OVERLAPPED结构体对象是从overlapio.c文件int post_acceptex(hio_t* listenio, hoverlapped_t* hovlp)函数中传过来的