poll: don't call WSAWaitForMultipleEvents with no events
authorThomas Kristensen <thomas.kristensen@cisco.com>
Fri, 25 Mar 2011 14:56:07 +0000 (15:56 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 4 Apr 2011 07:23:57 +0000 (09:23 +0200)
Fixes error caught by Microsoft Application Verifier.

gst/gstpoll.c

index ba9fdc8..fbcf2b2 100644 (file)
@@ -1375,8 +1375,13 @@ gst_poll_wait (GstPoll * set, GstClockTime timeout)
           t = 0;
         }
 
-        wait_ret = WSAWaitForMultipleEvents (set->active_events->len,
-            (HANDLE *) set->active_events->data, FALSE, t, FALSE);
+        if (set->active_events->len != 0) {
+          wait_ret = WSAWaitForMultipleEvents (set->active_events->len,
+              (HANDLE *) set->active_events->data, FALSE, t, FALSE);
+        } else {
+          wait_ret = WSA_WAIT_FAILED;
+          WSASetLastError (WSA_INVALID_PARAMETER);
+        }
 
         if (ignore_count == 0 && wait_ret == WSA_WAIT_TIMEOUT) {
           res = 0;