mirror of
git://git.musl-libc.org/musl
synced 2025-01-10 16:49:50 +00:00
fix return value of res_send, res_query on errors from nameserver
the internal __res_msend returns 0 on timeout without having obtained any conclusive answer, but in this case has not filled in meaningful anslen. res_send wrongly treated that as success, but returned a zero answer length. any reasonable caller would eventually end up treating that as an error when attempting to parse/validate it, but it should just be reported as an error. alternatively we could return the last-received inconclusive answer (typically servfail), but doing so would require internal changes in __res_msend. this may be considered later.
This commit is contained in:
parent
5cf1ac2443
commit
1b4e84c56d
@ -3,7 +3,7 @@
|
||||
int __res_send(const unsigned char *msg, int msglen, unsigned char *answer, int anslen)
|
||||
{
|
||||
int r = __res_msend(1, &msg, &msglen, &answer, &anslen, anslen);
|
||||
return r<0 ? r : anslen;
|
||||
return r<0 || !anslen ? -1 : anslen;
|
||||
}
|
||||
|
||||
weak_alias(__res_send, res_send);
|
||||
|
Loading…
Reference in New Issue
Block a user