On Sat, Dec 16, 2017 at 6:26 PM, Jerry DeLisle <jvdeli...@charter.net> wrote:
> Hi all,
>
> This problem was found with -fsanitize=address.
>
> Turns out we are not correctly tracking the bytes left in the internal unit
> string and we were reading memory past the end. I am sure the problem exists 
> in
> gcc 7 and I will examine gcc 6 as well and fix this in all cases I see. The
> function sread is basically a wrapper on memcpy
>
> The patch is fairly straight forward.
>
> Regression tested on x86_64-pc-linux-gnu. OK for trunk and back ports as I 
> find?
>
> Regards,
>
> Jerry
>
> 2017-12-16  Jerry DeLisle  <jvdeli...@gcc.gnu.org>
>
>         PR libgfortran/81937
>         * io/list_read.c (next_char_internal): Don't attempt to read
>         from the internal unit stream if no bytes are left. Decrement
>         bytes_left in the right place.
>

Looks good, Ok for trunk/7/6. Thanks!

-- 
Janne Blomqvist

Reply via email to