Commit a6d06ba
win: fix crash when closing a pipe after a failed bind
uv_pipe_pending_instances() sets the UV_HANDLE_PIPESERVER flag before the
pipe is bound. When the subsequent bind fails, e.g. with UV_EADDRINUSE
after losing a bind race on a well-known pipe name, uv_pipe_bind2() frees
accept_reqs and resets it to NULL, but the flag stays set. Closing the
handle then dereferences the NULL accept_reqs array in uv__pipe_close()
(release builds crash with an access violation; debug builds trip the
assert in uv__pipe_endgame()).
Tolerate accept_reqs == NULL at both cleanup sites.1 parent e774099 commit a6d06ba
3 files changed
Lines changed: 41 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
730 | 730 | | |
731 | 731 | | |
732 | 732 | | |
733 | | - | |
| 733 | + | |
| 734 | + | |
734 | 735 | | |
735 | 736 | | |
736 | 737 | | |
| |||
1248 | 1249 | | |
1249 | 1250 | | |
1250 | 1251 | | |
1251 | | - | |
1252 | | - | |
1253 | | - | |
1254 | | - | |
1255 | | - | |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
| 1258 | + | |
| 1259 | + | |
| 1260 | + | |
1256 | 1261 | | |
1257 | 1262 | | |
1258 | 1263 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
| 223 | + | |
223 | 224 | | |
224 | 225 | | |
225 | 226 | | |
| |||
881 | 882 | | |
882 | 883 | | |
883 | 884 | | |
| 885 | + | |
884 | 886 | | |
885 | 887 | | |
886 | 888 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
76 | 104 | | |
77 | 105 | | |
78 | 106 | | |
| |||
0 commit comments