2
0
mirror of https://github.com/boostorg/asio.git synced 2026-02-22 01:32:08 +00:00
Christopher Kohlhoff 10fba74faa Fix broken get_nt_set_info() for overlapped handles.
When calling handle->release(), Asio uses kernel-provided
NtSetInformationFile() routine to remove IOCP for the specific handle.
Since this routine is not part of SDK, Asio retrieves the address of
that function from NTDLL.DLL and caches it into nt_set_info_ class
member. The fact that address is cached is checked by comparing it to 0.

The bug is that class member is not initialized and contains undefined
value, so Asio assumes that the address is already retrieved and uses
undefined value, which leads to acces violation.

Fix by initializing nt_set_info_ to zero, as it is done for sockets in
win_iocp_socket_service_base.ipp.
2022-11-03 17:28:47 +11:00
2021-03-04 09:02:43 +11:00
2022-03-02 21:23:52 +11:00
2006-06-14 22:26:36 +00:00
2021-11-01 21:19:46 +11:00
Description
Mirrored via gitea-mirror
24 MiB
Languages
C++ 99.6%
HTML 0.2%
Perl 0.2%