summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Pfaff <blp@ovn.org>2018-08-18 10:17:37 -0700
committerBen Pfaff <blp@ovn.org>2018-08-20 09:31:40 -0700
commit5aac75e8b2c6d86f22824838976a39494919b56d (patch)
treead249fd0efe00df8ac0d3122dfe532b79899d799
parentc5fea45ecb489346db54f9d69c5b4c49bf54e38f (diff)
downloadopenvswitch-5aac75e8b2c6d86f22824838976a39494919b56d.tar.gz
netdev-linux: Avoid division by 0 if kernel reports bad scheduler data.
If the kernel reported a value of 0 for the second value in /proc/net/psched, it would cause a division-by-zero fault in read_psched(). I don't know of a kernel that would actually do that, but it's still better to be safe. Found by clang static analyzer. Reported-by: Bhargava Shastry <bshastry@sect.tu-berlin.de> Signed-off-by: Ben Pfaff <blp@ovn.org> Reviewed-by: Yifeng Sun <pkusunyifeng@gmail.com>
-rw-r--r--lib/netdev-linux.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
index ce7a14aa0..8e28409b7 100644
--- a/lib/netdev-linux.c
+++ b/lib/netdev-linux.c
@@ -3997,7 +3997,7 @@ read_psched(void)
VLOG_DBG("%s: psched parameters are: %u %u %u %u", fn, a, b, c, d);
fclose(stream);
- if (!a || !c) {
+ if (!a || !b || !c) {
VLOG_WARN("%s: invalid scheduler parameters", fn);
goto exit;
}