From 446cdf51f30f8f5ae3624d416fcbf0e066c36fa4 Mon Sep 17 00:00:00 2001 From: glebius Date: Tue, 25 Sep 2012 12:45:41 +0000 Subject: Fix panic introduced by me in r240835, when zero weight was passed to wtab_alloc(). Reported by: Kim Culhan --- sys/contrib/altq/altq/altq_red.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'sys/contrib') diff --git a/sys/contrib/altq/altq/altq_red.c b/sys/contrib/altq/altq/altq_red.c index be9eff8..b92e005 100644 --- a/sys/contrib/altq/altq/altq_red.c +++ b/sys/contrib/altq/altq/altq_red.c @@ -235,6 +235,11 @@ red_alloc(int weight, int inv_pmax, int th_min, int th_max, int flags, if (rp == NULL) return (NULL); + if (weight == 0) + rp->red_weight = W_WEIGHT; + else + rp->red_weight = weight; + /* allocate weight table */ rp->red_wtab = wtab_alloc(rp->red_weight); if (rp->red_wtab == NULL) { @@ -245,10 +250,6 @@ red_alloc(int weight, int inv_pmax, int th_min, int th_max, int flags, rp->red_avg = 0; rp->red_idle = 1; - if (weight == 0) - rp->red_weight = W_WEIGHT; - else - rp->red_weight = weight; if (inv_pmax == 0) rp->red_inv_pmax = default_inv_pmax; else -- cgit v1.1