[libsoup/carlosgc/http2-on-data-source-crash] http2: return early from data source callack if data is NULL
- From: Carlos Garcia Campos <carlosgc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libsoup/carlosgc/http2-on-data-source-crash] http2: return early from data source callack if data is NULL
- Date: Mon, 17 Oct 2022 09:28:25 +0000 (UTC)
commit 2332dd32e4916f05d0f462e7639eee88776242dd
Author: Carlos Garcia Campos <cgarcia igalia com>
Date: Mon Oct 17 11:27:07 2022 +0200
http2: return early from data source callack if data is NULL
It can happen in case of cancellation.
Fixes #305
libsoup/http2/soup-client-message-io-http2.c | 9 +++++++++
1 file changed, 9 insertions(+)
---
diff --git a/libsoup/http2/soup-client-message-io-http2.c b/libsoup/http2/soup-client-message-io-http2.c
index 9ca2edb6..abee92ff 100644
--- a/libsoup/http2/soup-client-message-io-http2.c
+++ b/libsoup/http2/soup-client-message-io-http2.c
@@ -1074,7 +1074,16 @@ on_data_source_read_callback (nghttp2_session *session,
nghttp2_data_source *source,
void *user_data)
{
+ SoupClientMessageIOHTTP2 *io = user_data;
SoupHTTP2MessageData *data = nghttp2_session_get_stream_user_data (session, stream_id);
+
+ h2_debug (io, data, "[SEND_BODY] stream_id=%u, paused=%d", stream_id, data ? data->paused : 0);
+
+ if (!data) {
+ /* This can happen in case of cancellation */
+ return 0;
+ }
+
data->io->in_callback++;
if (!data->item->async) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]