diff --git a/bin/named/client.c b/bin/named/client.c index 9c9a90b6cb..e5159d80e9 100644 --- a/bin/named/client.c +++ b/bin/named/client.c @@ -2471,14 +2471,18 @@ client_request(isc_task_t *task, isc_event_t *event) { * Parsing the request failed. Send a response * (typically FORMERR or SERVFAIL). */ - if (result == DNS_R_OPTERR) + if (result == DNS_R_OPTERR) { (void)ns_client_addopt(client, client->message, &client->opt); + } ns_client_log(client, NS_LOGCATEGORY_CLIENT, NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(1), "message parsing failed: %s", isc_result_totext(result)); + if (result == ISC_R_NOSPACE) { + result = DNS_R_FORMERR; + } ns_client_error(client, result); goto cleanup; } diff --git a/lib/dns/result.c b/lib/dns/result.c index fcbe7186e6..9bfc959831 100644 --- a/lib/dns/result.c +++ b/lib/dns/result.c @@ -405,7 +405,6 @@ dns_result_torcode(isc_result_t result) { rcode = dns_rcode_noerror; break; case ISC_R_BADBASE64: - case ISC_R_NOSPACE: case ISC_R_RANGE: case ISC_R_UNEXPECTEDEND: case DNS_R_BADAAAA: