[asterisk-dev] [Code Review] 3704: Infinite loop possible in ast_careful_fwrite()

one47 reviewboard at asterisk.org
Wed Jul 2 11:37:35 CDT 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3704/
-----------------------------------------------------------

(Updated July 2, 2014, 4:37 p.m.)


Review request for Asterisk Developers.


Changes
-------

Reset errno before the fflush just to be sure we start with a clean slate, and update comment to explain why we do it in more certain terms.

The new comment is based on what seems to be happening in my testing, but in reality it is all happening in libc so is still an interpretation of the sequence of events.


Bugs: ASTERISK-23984
    https://issues.asterisk.org/jira/browse/ASTERISK-23984


Repository: Asterisk


Description
-------

Discovered this by playing with WebRTC - It occurs sometimes if the websocket client closes the connection suddenly.

fflush() does not always reset errno correctly, particularly at EOF, and can cause a 100% CPU infinite loop.


Diffs (updated)
-----

  trunk/main/utils.c 417704 

Diff: https://reviewboard.asterisk.org/r/3704/diff/


Testing
-------

Repeated websocket opens/closes to be sure the issue is gone.


Thanks,

one47

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140702/950f7814/attachment.html>


More information about the asterisk-dev mailing list