From fdeecf7bba0322f526b20aeff8695c21d6bd7cc1 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 17 Sep 2020 17:16:49 +0900 Subject: [PATCH] network: tc: refuse to set 0 for FlowQueuePIE.PacketLimit= --- src/network/tc/fq-pie.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/network/tc/fq-pie.c b/src/network/tc/fq-pie.c index 47fa86b450..3065ac0150 100644 --- a/src/network/tc/fq-pie.c +++ b/src/network/tc/fq-pie.c @@ -52,6 +52,7 @@ int config_parse_fq_pie_packet_limit( _cleanup_(qdisc_free_or_set_invalidp) QDisc *qdisc = NULL; FlowQueuePIE *fq_pie; Network *network = data; + uint32_t val; int r; assert(filename); @@ -75,14 +76,21 @@ int config_parse_fq_pie_packet_limit( return 0; } - r = safe_atou32(rvalue, &fq_pie->packet_limit); + r = safe_atou32(rvalue, &val); if (r < 0) { log_syntax(unit, LOG_WARNING, filename, line, r, "Failed to parse '%s=', ignoring assignment: %s", lvalue, rvalue); return 0; } + if (val == 0) { + log_syntax(unit, LOG_WARNING, filename, line, 0, + "Invalid '%s=', ignoring assignment: %s", + lvalue, rvalue); + return 0; + } + fq_pie->packet_limit = val; qdisc = NULL; return 0;