From cae88bded0c9370069b92528769afd13b35acd36 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Tue, 30 Mar 2010 19:30:57 +0000 Subject: [PATCH] More error handling. --- org.glite.lb.server/src/bkserverd.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/org.glite.lb.server/src/bkserverd.c b/org.glite.lb.server/src/bkserverd.c index a35daf9..b4dfe34 100644 --- a/org.glite.lb.server/src/bkserverd.c +++ b/org.glite.lb.server/src/bkserverd.c @@ -1096,8 +1096,15 @@ int bk_handle_connection(int conn, struct timeval *timeout, void *data) gettimeofday(&conn_start, 0); alen = sizeof(a); - getpeername(conn, (struct sockaddr *)&a, &alen); - h_errno = asyn_gethostbyaddr(&name_num, &port, (struct sockaddr *)&a, alen, &dns_to, 1); + memset(&a, 0, sizeof a); + if (getpeername(conn, (struct sockaddr *)&a, &alen) != 0) { + glite_common_log(LOG_CATEGORY_LB_SERVER_REQUEST, LOG_PRIORITY_ERROR, "getpeername(): %s", strerror(errno)); + return -1; + } + if ((h_errno = asyn_gethostbyaddr(&name_num, &port, (struct sockaddr *)&a, alen, &dns_to, 1)) != 0) { + glite_common_log(LOG_CATEGORY_LB_SERVER_REQUEST, LOG_PRIORITY_ERROR, "gethostbyaddr(): %s", hstrerror(h_errno)); + return -1; + } ctx->connections->serverConnection->peerPort = atoi(port); h_errno = asyn_gethostbyaddr(&name, NULL, (struct sockaddr *)&a, alen, &dns_to, 0); switch ( h_errno ) -- 1.8.2.3