diff mbox series

[nft,2/2] netlink: floating point exception

Message ID 20180403110734.17062-2-pablo@netfilter.org
State Accepted
Delegated to: Pablo Neira
Headers show
Series [nft,1/2] evaluate: propagate binop_transfer() adjustment to set key size | expand

Commit Message

Pablo Neira Ayuso April 3, 2018, 11:07 a.m. UTC
If the length is less than 1 byte, this codepath hits a floating point
exception, use div_round_up() as everywhere else in the code.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
 src/netlink.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/src/netlink.c b/src/netlink.c
index bfa30502a2b2..00fac11d6156 100644
--- a/src/netlink.c
+++ b/src/netlink.c
@@ -371,7 +371,7 @@  static void netlink_gen_concat_data(const struct expr *expr,
 		list_for_each_entry(i, &expr->expressions, list) {
 			assert(i->ops->type == EXPR_VALUE);
 			mpz_export_data(data + offset, i->value, i->byteorder,
-					i->len / BITS_PER_BYTE);
+					div_round_up(i->len, BITS_PER_BYTE));
 			offset += netlink_padded_len(i->len) / BITS_PER_BYTE;
 		}