mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-01 06:55:30 +00:00
Fix ASAN error in DoH (passing NULL to memmove())
The warning was produced by an ASAN build: runtime error: null pointer passed as argument 2, which is declared to never be null This commit fixes it by checking if nghttp2_session_mem_send() has actually returned anything.
This commit is contained in:
@@ -1025,6 +1025,13 @@ http_send_outgoing(isc_nm_http_session_t *session, isc_nmhandle_t *httphandle,
|
|||||||
nghttp2_session_mem_send(session->ngsession, &data);
|
nghttp2_session_mem_send(session->ngsession, &data);
|
||||||
const size_t new_total = total + pending;
|
const size_t new_total = total + pending;
|
||||||
|
|
||||||
|
/* Sometimes nghttp2_session_mem_send() does not return any
|
||||||
|
* data to send even though nghttp2_session_want_write()
|
||||||
|
* returns success. */
|
||||||
|
if (pending == 0 || data == NULL) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
/* reallocate buffer if required */
|
/* reallocate buffer if required */
|
||||||
if (new_total > sizeof(tmp_data)) {
|
if (new_total > sizeof(tmp_data)) {
|
||||||
uint8_t *old_prepared_data = prepared_data;
|
uint8_t *old_prepared_data = prepared_data;
|
||||||
|
Reference in New Issue
Block a user