Re: [PATCH 1/1] ipset: fix timeout data type size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi.

  I've sent this patch for ipset some time ago. It fixes a bug that
surfaces itself on some platforms (notably on mips routers running
openwrt). Unfortunately I have not seen any feedback/response to this
patch. Is something wrong with the proposed fix or with patch itself?
Could you please let me know.

  Thanks!

2013/10/31 Nikolay Martynov <mar.kolya@xxxxxxxxx>:
> Currently it is impossible to set timeout on some architectures
> (MIPS ar71xx at least) because timeout is parsed into long long data
> type but used as uint32 without proper conversion. This patch fixes
> this issue. Tested on ar71xx router.
>
> Signed-off-by: Nikolay Martynov <mar.kolya@xxxxxxxxx>
> ---
>  lib/parse.c | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/lib/parse.c b/lib/parse.c
> index 8ea8542..440ef8f 100644
> --- a/lib/parse.c
> +++ b/lib/parse.c
> @@ -1292,15 +1292,20 @@ ipset_parse_timeout(struct ipset_session *session,
>                     enum ipset_opt opt, const char *str)
>  {
>         int err;
> -       unsigned long long num = 0;
> +       unsigned long long llnum = 0;
> +       uint32_t num = 0;
>
>         assert(session);
>         assert(opt == IPSET_OPT_TIMEOUT);
>         assert(str);
>
> -       err = string_to_number_ll(session, str, 0, UINT_MAX/1000, &num);
> -       if (err == 0)
> +       err = string_to_number_ll(session, str, 0, UINT_MAX/1000, &llnum);
> +       if (err == 0) {
> +               /* Timeout is expected to be 32bits wide, so we have
> +                  to convert it here */
> +               num = llnum;
>                 return ipset_session_data_set(session, opt, &num);
> +       }
>
>         return err;
>  }
> --
> Thanks.
> Nikolay.
>



-- 
Martynov Nikolay.
Email: mar.kolya@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux