Changeset 12

Show
Ignore:
Timestamp:
09/22/05 11:48:32 (3 years ago)
Author:
ross
Message:

fixed invalid dereference of timerQueue_.front().first if no timer listeners had been registered

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • oscpack/trunk/ip/win32/UdpSocket.cpp

    r5 r12  
    362362 
    363363      double currentTimeMs = GetCurrentTimeMs(); 
    364             double waitTime = timerQueue_.front().first - currentTimeMs; 
    365             if( waitTime < 0. ) 
    366                 waitTime = 0.; 
    367       DWORD waitResult = WaitForMultipleObjects( (DWORD)socketListeners_.size() + 1, &events[0], FALSE,  
    368           timerQueue_.empty() ? INFINITE : (DWORD)waitTime ); 
     364 
     365            DWORD waitTime = INFINITE; 
     366            if( !timerQueue_.empty() ){ 
     367 
     368                waitTime = (DWORD)( timerQueue_.front().first >= currentTimeMs 
     369                            ? timerQueue_.front().first - currentTimeMs 
     370                            : 0 ); 
     371            } 
     372 
     373      DWORD waitResult = WaitForMultipleObjects( (DWORD)socketListeners_.size() + 1, &events[0], FALSE, waitTime ); 
    369374      if( break_ ) 
    370375        break;