fix return value of res_send, res_query on errors from nameserver
authorRich Felker <dalias@aerifal.cx>
Tue, 19 May 2020 23:25:42 +0000 (19:25 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 19 May 2020 23:25:42 +0000 (19:25 -0400)
commit1b4e84c56df0f8ca30f6bc05962a860f869e71df
treeb0f6cb873b88d8546f77653f57cc3ab2bb887a49
parent5cf1ac2443ad0dba263559a3fe043d929e0e5c4c
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.
src/network/res_send.c