rewrite EBADRESP to EBADQUERY on ares_send

Due to the way record duplication works, we might sometimes get a
misleading error code.  Rewrite the error code to make better
sense.

Authored-By: Brad House (@bradh352)
v1.34
Brad House 2 weeks ago
parent a5e2761e9b
commit e0409fb01f
  1. 5
      src/lib/ares_send.c

@ -153,6 +153,11 @@ ares_status_t ares_send_nolock(ares_channel_t *channel, ares_server_t *server,
/* Duplicate Query */ /* Duplicate Query */
status = ares_dns_record_duplicate_ex(&query->query, dnsrec); status = ares_dns_record_duplicate_ex(&query->query, dnsrec);
if (status != ARES_SUCCESS) { if (status != ARES_SUCCESS) {
/* Sometimes we might get a EBADRESP response from duplicate due to
* the way it works (write and parse), rewrite it to EBADQUERY. */
if (status == ARES_EBADRESP) {
status = ARES_EBADQUERY;
}
ares_free(query); ares_free(query);
callback(arg, status, 0, NULL); callback(arg, status, 0, NULL);
return status; return status;

Loading…
Cancel
Save