From: Jan Engelhardt Date: Sat, 30 Dec 2023 17:06:25 +0000 (+0100) Subject: xt_pknock: repair do_div invocation X-Git-Tag: v3.26~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d28e28ce83339e17b8b70cc65a2336db7faf42bf;p=thirdparty%2Fxtables-addons.git xt_pknock: repair do_div invocation do_div modifies its argument in-place. Account for that behavior. Fixes: v3.15-1-g3aa4ca3 --- diff --git a/extensions/pknock/xt_pknock.c b/extensions/pknock/xt_pknock.c index 1606eab..9388c49 100644 --- a/extensions/pknock/xt_pknock.c +++ b/extensions/pknock/xt_pknock.c @@ -343,7 +343,9 @@ has_logged_during_this_minute(const struct peer *peer) return 0; x = ktime_get_seconds(); y = peer->login_sec; - return do_div(y, 60) == do_div(x, 60); + do_div(x, 60); + do_div(y, 60); + return x == y; } /** @@ -731,7 +733,8 @@ has_secret(const unsigned char *secret, unsigned int secret_len, uint32_t ipsrc, if (hexresult == NULL) return false; x = ktime_get_seconds(); - epoch_min = do_div(x, 60); + do_div(x, 60); + epoch_min = x; ret = crypto_shash_setkey(crypto.tfm, secret, secret_len); if (ret != 0) {