DRTVWR-476: Use OpenSSL API suitable for 64-bit pointers.
In three different places we use the same pattern: an ssl_thread_id_callback() function (a static member of LLCrashLogger, in that case) that used to be passed to CRYPTO_set_id_callback() and therefore returned an unsigned long representing the ID of the current thread. But GetCurrentThread() is a HANDLE, an alias for a pointer, and you can't uniquely cram a 64-bit pointer into an unsigned long. Fortunately OpenSSL has a more modern API for retrieving thread ID. Pass each ssl_thread_id_callback() function to CRYPTO_THREADID_set_callback() instead, converting it to accept CRYPTO_THREADID* and call CRYPTO_THREADID_set_pointer() or CRYPTO_THREADID_set_numeric() as appropriate().
Showing
- indra/llcorehttp/examples/http_texture_load.cpp 5 additions, 5 deletionsindra/llcorehttp/examples/http_texture_load.cpp
- indra/llcorehttp/tests/llcorehttp_test.cpp 5 additions, 7 deletionsindra/llcorehttp/tests/llcorehttp_test.cpp
- indra/llcrashlogger/llcrashlogger.cpp 4 additions, 4 deletionsindra/llcrashlogger/llcrashlogger.cpp
- indra/llcrashlogger/llcrashlogger.h 6 additions, 1 deletionindra/llcrashlogger/llcrashlogger.h
Please register or sign in to comment