aio-win32: avoid out-of-bounds access to the events array
commita90d411e63ef29bb99b984e0fdb7796aeee1c724
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 15 Sep 2014 12:52:58 +0000 (15 14:52 +0200)
committerStefan Hajnoczi <stefanha@redhat.com>
Mon, 22 Sep 2014 10:39:21 +0000 (22 11:39 +0100)
treed581f7df415e00711bb29d65438c6e76e849d941
parent0722eba9450cb8be9713fec1caa0772330739586
aio-win32: avoid out-of-bounds access to the events array

If ret is WAIT_TIMEOUT and there was an event returned by select(),
we can write to a location after the end of the array.  But in
that case we can retry the WaitForMultipleObjects call with the
same set of events, so just move the event[ret - WAIT_OBJECT_0]
assignment inside the existin conditional.

Reported-by: TeLeMan <geleman@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: TeLeMan <geleman@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
aio-win32.c