diff options
Diffstat (limited to 'resolv')
-rw-r--r-- | resolv/nss_dns/dns-network.c | 4 | ||||
-rw-r--r-- | resolv/res_send.c | 9 |
2 files changed, 9 insertions, 4 deletions
diff --git a/resolv/nss_dns/dns-network.c b/resolv/nss_dns/dns-network.c index 6ff60f3119..97d9263895 100644 --- a/resolv/nss_dns/dns-network.c +++ b/resolv/nss_dns/dns-network.c @@ -262,14 +262,14 @@ getanswer_r (const querybuf *answer, int anslen, struct netent *result, char linebuffer[0]; } *net_data = (struct net_data *) buffer; int linebuflen = buflen - offsetof (struct net_data, linebuffer); - const char *end_of_message = &answer->buf[anslen]; + const unsigned char *end_of_message = &answer->buf[anslen]; const HEADER *header_pointer = &answer->hdr; /* #/records in the answer section. */ int answer_count = ntohs (header_pointer->ancount); /* #/entries in the question section. */ int question_count = ntohs (header_pointer->qdcount); char *bp = net_data->linebuffer; - const char *cp = &answer->buf[HFIXEDSZ]; + const unsigned char *cp = &answer->buf[HFIXEDSZ]; char **alias_pointer; int have_answer; char *ans; diff --git a/resolv/res_send.c b/resolv/res_send.c index 8fb21a9446..1a53e5be9e 100644 --- a/resolv/res_send.c +++ b/resolv/res_send.c @@ -632,7 +632,7 @@ send_vc(res_state statp, /* Are we still talking to whom we want to talk to? */ if (statp->_vcsock >= 0 && (statp->_flags & RES_F_VC) != 0) { struct sockaddr_in6 peer; - int size = sizeof peer; + socklen_t size = sizeof peer; if (getpeername(statp->_vcsock, (struct sockaddr *)&peer, &size) < 0 || @@ -809,7 +809,8 @@ send_dg(res_state statp, int ptimeout; struct sockaddr_in6 from; static int socket_pf = 0; - int fromlen, resplen, seconds, n; + socklen_t fromlen; + int resplen, seconds, n; if (EXT(statp).nssocks[ns] == -1) { /* only try IPv6 if IPv6 NS and if not failed before */ @@ -1033,6 +1034,10 @@ send_dg(res_state statp, res_nclose(statp); return (0); } + else { + /* poll should not have returned > 0 in this case. */ + abort (); + } } #ifdef DEBUG |