[Home]

Summary:ASTERISK-16398: Fix select() usage in Asterisk
Reporter:Russell Bryant (russell)Labels:
Date Opened:2010-07-21 11:31:20Date Closed:2010-12-30 11:40:45.000-0600
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:The following commit fixes an error with the usage of select():

http://lists.digium.com/pipermail/asterisk-commits/2010-July/044279.html

This same problem exists in other places in the code.  All uses of select() need to be audited and fixed as appropriate.
Comments:By: Digium Subversion (svnbot) 2010-09-01 13:49:13

Repository: asterisk
Revision: 284478

U   branches/1.4/channels/chan_alsa.c
U   branches/1.4/channels/chan_misdn.c
U   branches/1.4/channels/chan_oss.c
U   branches/1.4/channels/chan_phone.c
U   branches/1.4/configure
U   branches/1.4/configure.ac
U   branches/1.4/include/asterisk/autoconfig.h.in
U   branches/1.4/include/asterisk/channel.h
U   branches/1.4/include/asterisk/poll-compat.h
A   branches/1.4/include/asterisk/select.h
U   branches/1.4/main/asterisk.c
U   branches/1.4/main/poll.c
U   branches/1.4/res/res_features.c
A   branches/1.4/tests/test_poll.c

------------------------------------------------------------------------
r284478 | tilghman | 2010-09-01 13:49:12 -0500 (Wed, 01 Sep 2010) | 11 lines

Ensure that all areas that previously used select(2) now use poll(2), with implementations that need poll(2) implemented with select(2) safe against 1024-bit overflows.

This is a followup to the fix for the pthread timer in 1.6.2 and beyond, fixing
a potential crash bug in all supported releases.

(closes issue ASTERISK-16398)
Reported by: russell
Branch: https://origsvn.digium.com/svn/asterisk/team/tilghman/ast_select

Review: https://reviewboard.asterisk.org/r/824/

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=284478

By: Digium Subversion (svnbot) 2010-09-01 17:59:51

Repository: asterisk
Revision: 284593

_U  branches/1.6.2/
U   branches/1.6.2/channels/chan_misdn.c
U   branches/1.6.2/channels/chan_phone.c
U   branches/1.6.2/channels/chan_usbradio.c
U   branches/1.6.2/channels/console_video.c
U   branches/1.6.2/configure.ac
U   branches/1.6.2/include/asterisk/channel.h
U   branches/1.6.2/include/asterisk/poll-compat.h
A   branches/1.6.2/include/asterisk/select.h
U   branches/1.6.2/main/asterisk.c
U   branches/1.6.2/main/features.c
U   branches/1.6.2/main/poll.c
U   branches/1.6.2/main/rtp.c
U   branches/1.6.2/res/res_ais.c
U   branches/1.6.2/res/res_jabber.c
A   branches/1.6.2/tests/test_poll.c
U   branches/1.6.2/utils/clicompat.c

------------------------------------------------------------------------
r284593 | tilghman | 2010-09-01 17:59:51 -0500 (Wed, 01 Sep 2010) | 18 lines

Merged revisions 284478 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
 r284478 | tilghman | 2010-09-01 13:49:11 -0500 (Wed, 01 Sep 2010) | 11 lines
 
 Ensure that all areas that previously used select(2) now use poll(2), with implementations that need poll(2) implemented with select(2) safe against 1024-bit overflows.
 
 This is a followup to the fix for the pthread timer in 1.6.2 and beyond, fixing
 a potential crash bug in all supported releases.
 
 (closes issue ASTERISK-16398)
  Reported by: russell
 Branch: https://origsvn.digium.com/svn/asterisk/team/tilghman/ast_select
 
 Review: https://reviewboard.asterisk.org/r/824/
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=284593

By: Digium Subversion (svnbot) 2010-09-02 00:00:36

Repository: asterisk
Revision: 284597

_U  branches/1.8/
U   branches/1.8/addons/ooh323c/src/ooSocket.h
U   branches/1.8/addons/ooh323c/src/oochannels.c
U   branches/1.8/channels/chan_misdn.c
U   branches/1.8/channels/chan_phone.c
U   branches/1.8/channels/chan_usbradio.c
U   branches/1.8/channels/console_video.c
U   branches/1.8/configure
U   branches/1.8/configure.ac
U   branches/1.8/include/asterisk/autoconfig.h.in
U   branches/1.8/include/asterisk/channel.h
U   branches/1.8/include/asterisk/poll-compat.h
A   branches/1.8/include/asterisk/select.h
U   branches/1.8/main/asterisk.c
U   branches/1.8/main/features.c
U   branches/1.8/main/poll.c
U   branches/1.8/main/stun.c
U   branches/1.8/res/res_ais.c
U   branches/1.8/res/res_jabber.c
U   branches/1.8/res/res_pktccops.c
A   branches/1.8/tests/test_poll.c

------------------------------------------------------------------------
r284597 | tilghman | 2010-09-02 00:00:35 -0500 (Thu, 02 Sep 2010) | 29 lines

Merged revisions 284593,284595 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
 r284593 | tilghman | 2010-09-01 17:59:50 -0500 (Wed, 01 Sep 2010) | 18 lines
 
 Merged revisions 284478 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
   r284478 | tilghman | 2010-09-01 13:49:11 -0500 (Wed, 01 Sep 2010) | 11 lines
   
   Ensure that all areas that previously used select(2) now use poll(2), with implementations that need poll(2) implemented with select(2) safe against 1024-bit overflows.
   
   This is a followup to the fix for the pthread timer in 1.6.2 and beyond, fixing
   a potential crash bug in all supported releases.
   
   (closes issue ASTERISK-16398)
    Reported by: russell
   Branch: https://origsvn.digium.com/svn/asterisk/team/tilghman/ast_select
   
   Review: https://reviewboard.asterisk.org/r/824/
 ........
................
 r284595 | tilghman | 2010-09-01 22:57:43 -0500 (Wed, 01 Sep 2010) | 2 lines
 
 Failed to rerun bootstrap.sh after last commit
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=284597

By: Digium Subversion (svnbot) 2010-09-02 00:02:55

Repository: asterisk
Revision: 284598

_U  trunk/
U   trunk/addons/ooh323c/src/ooSocket.h
U   trunk/addons/ooh323c/src/oochannels.c
U   trunk/channels/chan_misdn.c
U   trunk/channels/chan_phone.c
U   trunk/channels/chan_usbradio.c
U   trunk/channels/console_video.c
U   trunk/configure
U   trunk/configure.ac
U   trunk/include/asterisk/autoconfig.h.in
U   trunk/include/asterisk/channel.h
U   trunk/include/asterisk/poll-compat.h
A   trunk/include/asterisk/select.h
U   trunk/main/asterisk.c
U   trunk/main/features.c
U   trunk/main/poll.c
U   trunk/main/stun.c
U   trunk/res/res_ais.c
U   trunk/res/res_jabber.c
U   trunk/res/res_pktccops.c
A   trunk/tests/test_poll.c

------------------------------------------------------------------------
r284598 | tilghman | 2010-09-02 00:02:55 -0500 (Thu, 02 Sep 2010) | 36 lines

Merged revisions 284597 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
 r284597 | tilghman | 2010-09-02 00:00:34 -0500 (Thu, 02 Sep 2010) | 29 lines
 
 Merged revisions 284593,284595 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.6.2
 
 ................
   r284593 | tilghman | 2010-09-01 17:59:50 -0500 (Wed, 01 Sep 2010) | 18 lines
   
   Merged revisions 284478 via svnmerge from
   https://origsvn.digium.com/svn/asterisk/branches/1.4
   
   ........
     r284478 | tilghman | 2010-09-01 13:49:11 -0500 (Wed, 01 Sep 2010) | 11 lines
     
     Ensure that all areas that previously used select(2) now use poll(2), with implementations that need poll(2) implemented with select(2) safe against 1024-bit overflows.
     
     This is a followup to the fix for the pthread timer in 1.6.2 and beyond, fixing
     a potential crash bug in all supported releases.
     
     (closes issue ASTERISK-16398)
      Reported by: russell
     Branch: https://origsvn.digium.com/svn/asterisk/team/tilghman/ast_select
     
     Review: https://reviewboard.asterisk.org/r/824/
   ........
 ................
   r284595 | tilghman | 2010-09-01 22:57:43 -0500 (Wed, 01 Sep 2010) | 2 lines
   
   Failed to rerun bootstrap.sh after last commit
 ................
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=284598