From: Nikos Mavrogiannopoulos Date: Mon, 26 Nov 2012 21:55:53 +0000 (+0100) Subject: corrected socket loop. Based on patch by Mantas Mikulenas. X-Git-Tag: gnutls_3_1_6~55 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=18065c003ee2d9f61da4b920b7d8a13e8ba064cc;p=thirdparty%2Fgnutls.git corrected socket loop. Based on patch by Mantas Mikulenas. --- diff --git a/src/socket.c b/src/socket.c index f90148213b..20c366f788 100644 --- a/src/socket.c +++ b/src/socket.c @@ -156,8 +156,7 @@ socket_open (socket_st * hd, const char *hostname, const char *service, int udp) NI_NUMERICHOST | NI_NUMERICSERV)) != 0) { fprintf (stderr, "getnameinfo(): %s\n", gai_strerror (err)); - freeaddrinfo (res); - exit (1); + continue; } if (hints.ai_socktype == SOCK_DGRAM) @@ -176,18 +175,21 @@ socket_open (socket_st * hd, const char *hostname, const char *service, int udp) } - printf ("Connecting to '%s:%s'...\n", hostname, portname); + printf ("Connecting to '%s:%s'...\n", buffer, portname); err = connect (sd, ptr->ai_addr, ptr->ai_addrlen); if (err < 0) { - fprintf (stderr, "Cannot connect to %s:%s: %s\n", hostname, + fprintf (stderr, "Cannot connect to %s:%s: %s\n", buffer, portname, strerror (errno)); - exit (1); + continue; } break; } + if (err != 0) + exit(1); + if (sd == -1) { fprintf (stderr, "Could not find a supported socket\n");