From: Gert Doering Date: Tue, 8 Nov 2016 09:44:02 +0000 (+0100) Subject: Fix potential division by zero in shaper_reset() X-Git-Tag: v2.4_beta1~38 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9c3a9335ee77d8447bf47e464f4ab15964fb6f1b;p=thirdparty%2Fopenvpn.git Fix potential division by zero in shaper_reset() shaper_reset() is only ever called with "bytes_per_second" set to a non-zero value - so the whole check "is it zero? if not, use constrain_int() to make sure it is within bounds" is not needed -> reduce check to just constrain_int() so even if somebody would call shaper_reset(..., 0) it would not lead to a div-by-zero. Found by Coverity. Signed-off-by: Gert Doering Acked-by: Steffan Karger Message-Id: <1478598242-23514-1-git-send-email-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg12942.html Signed-off-by: Gert Doering --- diff --git a/src/openvpn/shaper.h b/src/openvpn/shaper.h index afeb9c3cd..fa132c40b 100644 --- a/src/openvpn/shaper.h +++ b/src/openvpn/shaper.h @@ -75,7 +75,7 @@ bool shaper_soonest_event (struct timeval *tv, int delay); static inline void shaper_reset (struct shaper *s, int bytes_per_second) { - s->bytes_per_second = bytes_per_second ? constrain_int (bytes_per_second, SHAPER_MIN, SHAPER_MAX) : 0; + s->bytes_per_second = constrain_int (bytes_per_second, SHAPER_MIN, SHAPER_MAX); #ifdef SHAPER_USE_FP s->factor = 1000000.0 / (double)s->bytes_per_second;