From: Phil Sutter Date: Tue, 24 Apr 2018 09:46:01 +0000 (+0200) Subject: statement: Fix get_rate() for zero byte_rate X-Git-Tag: v0.8.4~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3261e9cf14a8a80b9f524009502edf1ccd8da5eb;p=thirdparty%2Fnftables.git statement: Fix get_rate() for zero byte_rate The algorithm didn't detect whether given byte_rate was zero, pointlessly iterating through data units. Make it exit early in this case. Signed-off-by: Phil Sutter Signed-off-by: Pablo Neira Ayuso --- diff --git a/src/statement.c b/src/statement.c index f81e0123..fccf71c1 100644 --- a/src/statement.c +++ b/src/statement.c @@ -313,6 +313,11 @@ const char *get_rate(uint64_t byte_rate, uint64_t *rate) { int i; + if (!byte_rate) { + *rate = 0; + return data_unit[0]; + } + for (i = 0; data_unit[i + 1] != NULL; i++) { if (byte_rate % 1024) break;