Re: [lldb-dev] unaligned cast in TCPSocket::Connect

2016-10-17 Thread Greg Clayton via lldb-dev
> On Oct 13, 2016, at 10:52 AM, Ted Woodward via lldb-dev > wrote: > > TCPSocket::Connect has this line: > host_str = ::inet_ntoa (*(struct in_addr > *)*host_entry->h_addr_list); > > host_entry->h_addr_list is a char**, while struct in_addr contains a > uint32_t. Casting like th

Re: [lldb-dev] unaligned cast in TCPSocket::Connect

2016-10-13 Thread Pavel Labath via lldb-dev
fine by me. We should probably also stop using inet_ntoa as it is not thread-safe (I don't know what is the safe alternative off-hand). pl On 13 October 2016 at 19:00, Zachary Turner via lldb-dev wrote: > I believe you are correct. We should create an in_addr on the stack and > memcpy into it.

Re: [lldb-dev] unaligned cast in TCPSocket::Connect

2016-10-13 Thread Zachary Turner via lldb-dev
I believe you are correct. We should create an in_addr on the stack and memcpy into it. On Thu, Oct 13, 2016 at 10:52 AM Ted Woodward via lldb-dev < lldb-dev@lists.llvm.org> wrote: > TCPSocket::Connect has this line: > > host_str = ::inet_ntoa (*(struct in_addr > *)*host_entry->h_add

[lldb-dev] unaligned cast in TCPSocket::Connect

2016-10-13 Thread Ted Woodward via lldb-dev
TCPSocket::Connect has this line: host_str = ::inet_ntoa (*(struct in_addr *)*host_entry->h_addr_list); host_entry->h_addr_list is a char**, while struct in_addr contains a uint32_t. Casting like this (char * to uint_32t *) could cause a bus error on systems that don't allow non-al