[PATCH 1/1] net: wget: fix TCP sequence number wrap around issue

Michael Nazzareno Trimarchi michael at amarulasolutions.com
Mon Apr 15 15:03:20 CEST 2024


Hi

On Mon, Apr 15, 2024 at 3:01 PM Yasuharu Shibata
<yasuharu.shibata at gmail.com> wrote:
>
> If tcp_seq_num is wrap around, tcp_seq_num >= initial_data_seq_num
> isn't satisfied and store_block() isn't called.
> The condition has a wrap around issue, so it is fixed in this patch.
>
> Signed-off-by: Yasuharu Shibata <yasuharu.shibata at gmail.com>
> ---
>  net/wget.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/net/wget.c b/net/wget.c
> index 71bac92d84..abab371e58 100644
> --- a/net/wget.c
> +++ b/net/wget.c
> @@ -404,9 +404,7 @@ static void wget_handler(uchar *pkt, u16 dport,
>                 }
>                 next_data_seq_num = tcp_seq_num + len;
>
> -               if (tcp_seq_num >= initial_data_seq_num &&
> -                   store_block(pkt, tcp_seq_num - initial_data_seq_num,
> -                               len) != 0) {
> +               if (store_block(pkt, tcp_seq_num - initial_data_seq_num, len) != 0) {
>                         wget_fail("wget: store error\n",
>                                   tcp_seq_num, tcp_ack_num, action);
>                         net_set_state(NETLOOP_FAIL);

I think I have sent some time ago ;)

Anyway look sane. I was having the same feeling on code inspection

Reviewed-by: Michael Trimarchi <michael at amarulasolutions.com>

> --
> 2.25.1
>


-- 
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
michael at amarulasolutions.com
__________________________________

Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
info at amarulasolutions.com
www.amarulasolutions.com


More information about the U-Boot mailing list