[erlang-patches] Limit maximum line length in interactive shells

Fredrik fredrik@REDACTED
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@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-patches
>
>
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/listinfo/erlang-patches
Hello Stefan,
I've fetched your patch and a review process has started.
Thanks,

-- 

BR Fredrik Gustafsson
Erlang OTP Team

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-patches/attachments/20130508/f594ef18/attachment.htm>


More information about the erlang-patches mailing list