[erlang-patches] Limit maximum line length in interactive shells
Wed May 8 10:11:42 CEST 2013
On 05/07/2013 04:22 PM, Stefan Zegenhagen wrote:
> Dear all,
> it seems as if I sent around the wrong version of the patch. Please find
> the correct version attached to this e-mail.
> Kind regards,
>> one of our testers found out that he could reliably reboot our
>> erlang-based device by just sending tons of 'A' characters to an
>> interactive shell.
>> It appears that the I/O server of the interactive shell (in group.erl)
>> is always reading a full line before doing any end-of-input processing,
>> so that by sending bytes without a newline in between, it slowly eats up
>> all available memory.
>> The patch attached to this e-mail fixes that by introducing a new
>> io:setopt() option in group.erl named 'max_length' that is used to check
>> whether the current line length exceeds this maximum whenever the line
>> is edited. If an overlong line is detected, max_length bytes are
>> returned immediately (without the actual stop condition being fulfilled,
>> though, allowing I/O clients to detect this situation).
>> max_length is allowed to be an integer()> 0 or 'unlimited'. The default
>> is 'unlimited' to have the old behaviour by default.
>> Kind regards,
>> erlang-patches mailing list
> erlang-patches mailing list
I've fetched your patch and a review process has started.
BR Fredrik Gustafsson
Erlang OTP Team
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-patches