Commit 83bd975
BUG/MINOR: h3: fix BUG_ON() crash on control stream alloc failure
BUG_ON() from qcc_set_error() is triggered on HTTP/3 control stream
allocation failure. This is caused because both h3_finalize() and
qcc_init_stream_local() call qcc_set_error() which is forbidden to
prevent error code erasure.
Fix this by removing qcc_set_error() invocation from h3_finalize() on
allocation failure. Note that this function is still responsible to use
it on SETTING frame emission failure.
This was detected using -dMfail.
This must be backported up to 3.0.
(cherry picked from commit 5718c67)
Signed-off-by: Christopher Faulet <[email protected]>1 parent 96c254f commit 83bd975
2 files changed
+6
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2378 | 2378 | | |
2379 | 2379 | | |
2380 | 2380 | | |
| 2381 | + | |
| 2382 | + | |
2381 | 2383 | | |
2382 | 2384 | | |
2383 | 2385 | | |
2384 | 2386 | | |
2385 | 2387 | | |
2386 | 2388 | | |
2387 | | - | |
| 2389 | + | |
| 2390 | + | |
2388 | 2391 | | |
| 2392 | + | |
2389 | 2393 | | |
2390 | 2394 | | |
2391 | 2395 | | |
2392 | 2396 | | |
2393 | 2397 | | |
2394 | | - | |
2395 | 2398 | | |
2396 | 2399 | | |
2397 | 2400 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
617 | 617 | | |
618 | 618 | | |
619 | 619 | | |
620 | | - | |
621 | 620 | | |
| 621 | + | |
622 | 622 | | |
623 | 623 | | |
624 | 624 | | |
| |||
0 commit comments