Lines 104-110
Link Here
|
104 |
sin.sin_len = sizeof(struct sockaddr_in); |
104 |
sin.sin_len = sizeof(struct sockaddr_in); |
105 |
sin.sin_family = hp->h_addrtype; |
105 |
sin.sin_family = hp->h_addrtype; |
106 |
sin.sin_port = rport; |
106 |
sin.sin_port = rport; |
107 |
bcopy(hp->h_addr_list[0], &sin.sin_addr, hp->h_length); |
107 |
bcopy(hp->h_addr_list[0], &sin.sin_addr, MIN(hp->h_length, sizeof sin.sin_addr)); |
108 |
if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) >= 0) |
108 |
if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) >= 0) |
109 |
break; |
109 |
break; |
110 |
(void)close(s); |
110 |
(void)close(s); |
Lines 125-131
Link Here
|
125 |
errno = oerrno; |
125 |
errno = oerrno; |
126 |
perror(0); |
126 |
perror(0); |
127 |
hp->h_addr_list++; |
127 |
hp->h_addr_list++; |
128 |
bcopy(hp->h_addr_list[0], &sin.sin_addr, hp->h_length); |
128 |
bcopy(hp->h_addr_list[0], &sin.sin_addr, MIN(hp->h_length, sizeof sin.sin_addr)); |
129 |
(void)fprintf(stderr, "Trying %s...\n", |
129 |
(void)fprintf(stderr, "Trying %s...\n", |
130 |
inet_ntoa(sin.sin_addr)); |
130 |
inet_ntoa(sin.sin_addr)); |
131 |
continue; |
131 |
continue; |