Commit 39f801e
committed
Bug#36292125 use-after-free in async-recv
ASAN reported a use-after-free when a Channel is std::move()d in
async_recv().
1. the move() .cancel()s all async-operations
2. the async operation MUST not touch anything if it is canceled.
async_recv() calls view_sync_raw() on a destructed part of the
moved-channel.
Change
======
- only sync the view on success of the async operation.
Change-Id: I82d9ea666c4db5a8962d4f63ac1cbc3884974d4e1 parent e1016b2 commit 39f801e
1 file changed
+3
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
364 | 364 | | |
365 | 365 | | |
366 | 366 | | |
367 | | - | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
368 | 370 | | |
369 | 371 | | |
370 | 372 | | |
| |||
0 commit comments