|
Lines 1146-1151
Link Here
|
| 1146 |
for (i = 0; h->h_addr_list[i]; i++) { |
1146 |
for (i = 0; h->h_addr_list[i]; i++) { |
| 1147 |
if (h->h_addrtype == AF_INET) { |
1147 |
if (h->h_addrtype == AF_INET) { |
| 1148 |
/* A records (IPv4) */ |
1148 |
/* A records (IPv4) */ |
|
|
1149 |
if ((unsigned int) h->h_length > sizeof(ia)) { |
| 1150 |
return (-1); |
| 1151 |
} |
| 1149 |
memcpy (&ia, h->h_addr_list[i], h->h_length > sizeof(ia) ? |
1152 |
memcpy (&ia, h->h_addr_list[i], h->h_length > sizeof(ia) ? |
| 1150 |
sizeof(ia) : h->h_length); |
1153 |
sizeof(ia) : h->h_length); |
| 1151 |
sockin.sin_family = h->h_addrtype; |
1154 |
sockin.sin_family = h->h_addrtype; |
|
Lines 1155-1160
Link Here
|
| 1155 |
#ifdef SUPPORT_IP6 |
1158 |
#ifdef SUPPORT_IP6 |
| 1156 |
} else if (have_ipv6 () && (h->h_addrtype == AF_INET6)) { |
1159 |
} else if (have_ipv6 () && (h->h_addrtype == AF_INET6)) { |
| 1157 |
/* AAAA records (IPv6) */ |
1160 |
/* AAAA records (IPv6) */ |
|
|
1161 |
if ((unsigned int) h->h_length > sizeof(ia6)) { |
| 1162 |
return (-1); |
| 1163 |
} |
| 1158 |
memcpy (&ia6, h->h_addr_list[i], h->h_length > sizeof(ia6) ? |
1164 |
memcpy (&ia6, h->h_addr_list[i], h->h_length > sizeof(ia6) ? |
| 1159 |
sizeof(ia6) : h->h_length); |
1165 |
sizeof(ia6) : h->h_length); |
| 1160 |
sockin6.sin6_family = h->h_addrtype; |
1166 |
sockin6.sin6_family = h->h_addrtype; |