Skip to content

Commit 04d68e7

Browse files
committed
dns_server: fix race issue regarding rcode.
1 parent 28ab061 commit 04d68e7

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/dns_server.c

+4-1
Original file line numberDiff line numberDiff line change
@@ -2622,6 +2622,10 @@ static int _dns_server_request_complete_with_all_IPs(struct dns_request *request
26222622
request->ip_addr[9], request->ip_addr[10], request->ip_addr[11], request->ip_addr[12],
26232623
request->ip_addr[13], request->ip_addr[14], request->ip_addr[15]);
26242624
}
2625+
2626+
if (request->rcode == DNS_RC_SERVFAIL && request->has_ip) {
2627+
request->rcode = DNS_RC_NOERROR;
2628+
}
26252629
}
26262630

26272631
out:
@@ -7826,7 +7830,6 @@ static int _dns_server_tcp_process_one_request(struct dns_server_conn_tcp_client
78267830
goto errout;
78277831
}
78287832

7829-
78307833
if (http_decode_data == NULL) {
78317834
http_decode_data = malloc(DNS_IN_PACKSIZE);
78327835
if (http_decode_data == NULL) {

0 commit comments

Comments
 (0)