mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-11 22:11:04 +01:00
BUG/MEDIUM: stick-table: fix regression caused by recent fix for out-of-memory
Commit ef8f4fe ("BUG/MINOR: stick-table: handle out-of-memory condition
gracefully") unfortunately got trapped by a pointer operation. Replacing
ts = poll_alloc() + size;
with :
ts = poll_alloc();
ts += size;
Doesn't give the same result because pool_alloc() is void while ts is a
struct stksess*. So now we don't access the same places, which is visible
in certain stick-table scenarios causing a crash.
This must be backported to 1.6 and 1.5.
This commit is contained in:
parent
733b1327a6
commit
5179146fa3
@ -173,7 +173,7 @@ struct stksess *stksess_new(struct stktable *t, struct stktable_key *key)
|
||||
ts = pool_alloc2(t->pool);
|
||||
if (ts) {
|
||||
t->current++;
|
||||
ts += t->data_size;
|
||||
ts = (void *)ts + t->data_size;
|
||||
stksess_init(t, ts);
|
||||
if (key)
|
||||
stksess_setkey(t, ts, key);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user