HTTP/2, fix crash in handling stream weights 45/299945/1 accepted/tizen_base_riscv accepted/tizen/base/20231016.084939 accepted/tizen/base/riscv/20231123.094508 accepted/tizen/base/riscv/20240117.110157
authorSeonah Moon <seonah1.moon@samsung.com>
Thu, 12 Oct 2023 11:07:18 +0000 (20:07 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Thu, 12 Oct 2023 11:07:22 +0000 (20:07 +0900)
Backported from https://github.com/icing/curl/commit/41e5345fe9689cc2c1c2a92ecd77d2bd0f3f2411
(curl 8.2.0)

Change-Id: Iff4afe448bf7602a43ef033441a5a2b004ff3fe3

lib/http2.c

index b7409b0..fc6dc38 100644 (file)
@@ -1631,7 +1631,8 @@ static int h2_session_send(struct Curl_easy *data,
   struct HTTP *stream = data->req.p.http;
   struct http_conn *httpc = &data->conn->proto.httpc;
   set_transfer(httpc, data);
-  if((data->set.stream_weight != data->state.stream_weight) ||
+  if(stream && stream->stream_id > 0 &&
+     (data->set.stream_weight != data->state.stream_weight) ||
      (data->set.stream_depends_e != data->state.stream_depends_e) ||
      (data->set.stream_depends_on != data->state.stream_depends_on) ) {
     /* send new weight and/or dependency */