DoT: do not attempt to call read callback if it is not avaialble

This commit fixes a crash in DoT code when it was attempting to call a
read callback on the later stages of the connection when it is not
available.

It also fixes [GL #2884] (back-trace provided in the bug report is
exactly the same as was seen when fixing this problem).
This commit is contained in:
Artem Boldariev
2021-09-09 16:52:55 +03:00
parent fc3a37a2ad
commit abecfdc298

View File

@@ -940,6 +940,12 @@ isc__nm_tlsdns_processbuffer(isc_nmsocket_t *sock) {
return (ISC_R_NOMORE);
}
if (sock->recv_cb == NULL) {
/* recv_cb has been cleared - there is
* nothing to do */
return (ISC_R_CANCELED);
}
req = isc__nm_get_read_req(sock, NULL);
REQUIRE(VALID_UVREQ(req));