diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-08-07 22:56:06 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-08-07 22:56:06 -0700 |
| commit | ff3018ab3d5c2838f7916c5fedf916f5ce119258 (patch) | |
| tree | c6759047ce01d0ae7f12f2fb899cc13903ceeffd /src/core/aio.c | |
| parent | fe2c07b6a0dced827b7e086b39b1908d1861af39 (diff) | |
| download | nng-ff3018ab3d5c2838f7916c5fedf916f5ce119258.tar.gz nng-ff3018ab3d5c2838f7916c5fedf916f5ce119258.tar.bz2 nng-ff3018ab3d5c2838f7916c5fedf916f5ce119258.zip | |
Don't clear the AIO provider data in finish.
The finish routine can race against an asynchronous cancellation,
so we must not clear the data pointer, or we can wind up with a
NULL pointer dereference.
Diffstat (limited to 'src/core/aio.c')
| -rw-r--r-- | src/core/aio.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/src/core/aio.c b/src/core/aio.c index 273ce22e..3c85b78d 100644 --- a/src/core/aio.c +++ b/src/core/aio.c @@ -187,7 +187,6 @@ nni_aio_finish_impl( aio->a_result = result; aio->a_count = count; aio->a_prov_cancel = NULL; - aio->a_prov_data = NULL; if (pipe) { aio->a_pipe = pipe; } |
