{
struct SessionHandle *data = conn->data;
int rc;
- int sockfd;
+ int sockfd=-1;
int aliasindex=0;
struct timeval after;
/*
* Connecting with IPv4-only support
*/
-
+ if(!remotehost->h_addr_list[0]) {
+ /* If there is no addresses in the address list, then we return
+ error right away */
+ failf(data, "no address available");
+ return CURLE_COULDNT_CONNECT;
+ }
/* create an IPv4 TCP socket */
sockfd = socket(AF_INET, SOCK_STREAM, 0);
- if(-1 == sockfd)
+ if(-1 == sockfd) {
+ failf(data, "couldn't create socket");
return CURLE_COULDNT_CONNECT; /* big time error */
+ }
if(conn->data->set.device) {
/* user selected to bind the outgoing socket to a specified "device"