Code

daemon.c: avoid accessing ss_family member of struct sockaddr_storage
authorBrandon Casey <drafnel@gmail.com>
Mon, 15 Mar 2010 22:10:06 +0000 (17:10 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 17 Mar 2010 02:07:09 +0000 (19:07 -0700)
commit3aff874af239965ea78c37d14266d6c2233ad431
treec2503bd97299663aecb3705f6dd64bea157d0814
parent8fcaca3ff29a193f50a44bb3d5734a503e0539a6
daemon.c: avoid accessing ss_family member of struct sockaddr_storage

When NO_SOCKADDR_STORAGE is set for a platform, either sockaddr_in or
sockaddr_in6 is used intead.  Neither of which has an ss_family member.
They have an sin_family and sin6_family member respectively.  Since the
addrcmp() function accesses the ss_family member of a sockaddr_storage
struct, compilation fails on platforms which define NO_SOCKADDR_STORAGE.

Since any sockaddr_* structure can be cast to a struct sockaddr and
have its sa_family member read, do so here to workaround this issue.

Thanks to Martin Storsjö for pointing out the fix, and Gary Vaughan
for drawing attention to the issue.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
daemon.c