Hi. I've sent these patches to fix an ipset bug some time ago but didn't get any feedback. Could you please let me know if something is wrong with the patch or format I've used to send it so I could fix that.
Thanks! 2013/10/31 Nikolay Martynov <mar.ko...@gmail.com> > Fixes #14325 > > Signed-off-by: Nikolay Martynov <mar.ko...@gmail.com> > --- > .../utils/ipset/patches/001-timeout-size.patch | 28 > ++++++++++++++++++++++ > 1 file changed, 28 insertions(+) > create mode 100644 > package/network/utils/ipset/patches/001-timeout-size.patch > > diff --git a/package/network/utils/ipset/patches/001-timeout-size.patch > b/package/network/utils/ipset/patches/001-timeout-size.patch > new file mode 100644 > index 0000000..b9ff4e2 > --- /dev/null > +++ b/package/network/utils/ipset/patches/001-timeout-size.patch > @@ -0,0 +1,28 @@ > +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.ko...@gmail.com
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel