Frug/AJAX-Chat — pull request #71 by Clinteger (2013-03-25 01:16:10+00:00)
Title: Fix browser-crashing bug

If a user writes a line with an appropriate number of characters that ends in a tag with an entity immediately following, ajaxChat.breakLongWords() will insert the break string in the middle of the entity.

This is reproducible with the default settings of 32 character line lengths with the following message:
`1234567890123456789012345678:)&`

This results in the `:)` being replaced by the proper `` tag while the `&` does not get recognized as the beginning of an entity and `&​;` is the result.

Consequently the exception (DOM Exception 12--invalid syntax) is caught, but in the handling of it, there seems to be an infinite loop. In Firefox, Safari, and Chrome, memory usage will rise by about 100 MB per second until the task is killed. Removing the lines that report this error will stop the leak, but after a few minutes Chrome will crash anyway. The solution is to not produce invalid HTML in the first place ;)

Additionally a small fix, E_ALL is actually all errors but notices. This fixes that, too.