base: Fix forcing loopback only binding for listeners.
authorGabe Black <gabeblack@google.com>
Sat, 28 Oct 2017 07:36:13 +0000 (00:36 -0700)
committerGabe Black <gabeblack@google.com>
Mon, 30 Oct 2017 22:15:45 +0000 (22:15 +0000)
commit44896ba35b0874b9925ebd7927e196d0eb639b5e
tree0b6ff0b54dc9cf2ff75ee7291e21908a3f0fb67b
parente79c4c6f033581f84072ddb45d2ec9543c31af55
base: Fix forcing loopback only binding for listeners.

Despite online documentation, the type used for sin_addr.s_addr is not
actually an unsigned long, it is an in_addr_t. When an unsigned long is a 64
bit value, the endian conversion moves the relevant bits of the 32 bit
in_addr_t to positions which are truncated away. This forces the value to 0
which means to bind to any interface, the opposite of the intended effect.

Change-Id: I53c63dea6bd88144dfef1a9a49b478fab30a8ba2
Reviewed-on: https://gem5-review.googlesource.com/5301
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
src/base/socket.cc