ident: Check getsockname() return value.

This commit is contained in:
Jilles Tjoelker 2008-06-21 01:27:17 +02:00
parent ed28210c45
commit e8c4b8b290
1 changed files with 7 additions and 2 deletions

View File

@ -332,8 +332,13 @@ start_auth_query(struct AuthRequest *auth)
* and machines with multiple IP addresses are common now
*/
memset(&localaddr, 0, locallen);
getsockname(rb_get_fd(auth->client->localClient->F),
(struct sockaddr *) &localaddr, &locallen);
if(getsockname(rb_get_fd(auth->client->localClient->F),
(struct sockaddr *) &localaddr, &locallen) == -1)
{
/* can happen if connection was just closed */
rb_close(F);
return 0;
}
/* XXX mangle_mapped_sockaddr((struct sockaddr *)&localaddr); */
#ifdef RB_IPV6