diff options
author | Ben Pfaff <blp@ovn.org> | 2018-08-18 10:17:37 -0700 |
---|---|---|
committer | Ben Pfaff <blp@ovn.org> | 2018-08-20 09:31:40 -0700 |
commit | 5aac75e8b2c6d86f22824838976a39494919b56d (patch) | |
tree | ad249fd0efe00df8ac0d3122dfe532b79899d799 | |
parent | c5fea45ecb489346db54f9d69c5b4c49bf54e38f (diff) | |
download | openvswitch-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.c | 2 |
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; } |