This commit is contained in:
Nick Peng
2018-12-02 15:01:28 +08:00
parent 3ce9a7acb8
commit c0ec754ac3

View File

@@ -1385,15 +1385,16 @@ int _dns_server_tcp_process_one_request(struct dns_server_conn *dnsserver)
}
request_len = ntohs(*((unsigned short *)(dnsserver->recvbuff.buf + proceed_len)));
if (request_len > (total_len - proceed_len)) {
return 1;
}
if (request_len > 4096) {
if (request_len >= sizeof(dnsserver->recvbuff.buf)) {
tlog(TLOG_ERROR, "request length is invalid.");
return -1;
}
if (request_len > (total_len - proceed_len)) {
return 1;
}
request_data = (unsigned char *)(dnsserver->recvbuff.buf + proceed_len + sizeof(unsigned short));
if (_dns_server_recv(dnsserver, request_data, request_len, &dnsserver->addr, dnsserver->addr_len) != 0) {