Hi All,

In Win64 environment socket descriptor is represented as a SOCKET data type which in turn is an alias of UINT_PTR data type. In functions like BIO_new_socket, SSL_set_fd, etc. socket is passed as an argument of int data type. In Win64 size of pointers is 64-bit but size of int's is 32-bit what implies data truncation when socket is passed to these functions and compiler warns about it: warning C4244: 'argument' : conversion from 'SOCKET' to 'int', possible loss of data

What implication can have these truncation? Is it possible that socket descriptor value will be misinterpreted by backend OpenSSL functions?
Maybe most significant DWORD part of SOCKET value is never used by Windows?

Regards,
Artur Wieczorek


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to