BUG/MINOR: lb-map: fix unprotected update to server's score
The loop trying to figure the best server is theorically capable of finishing the loop with best == NULL, causing the HA_ATOMIC_SUB() to fail there. However for this to happen the list should be empty, which is avoided at the beginning of the function. As it is, the function still remains at risk so better address this now. This patch should be backported to 1.8.
This commit is contained in:
parent
75a323f04e
commit
c8b476d952
@ -132,7 +132,8 @@ void recalc_server_map(struct proxy *px)
|
||||
}
|
||||
}
|
||||
px->lbprm.map.srv[o] = best;
|
||||
HA_ATOMIC_SUB(&best->wscore, tot);
|
||||
if (best)
|
||||
HA_ATOMIC_SUB(&best->wscore, tot);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user