]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MAJOR: spoe: properly detach all agents when releasing the applet
authorWilly Tarreau <w@1wt.eu>
Tue, 15 Feb 2022 15:49:37 +0000 (16:49 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 16 Feb 2022 13:42:13 +0000 (14:42 +0100)
commitb042e4f6f7dca655a337fc9ffe1a5e4f25440868
treef53022d132fcfda0343fca34d94add2f586c104e
parentbfb15ab34ead85f64cd6da0e9fb418c9cd14cee8
BUG/MAJOR: spoe: properly detach all agents when releasing the applet

There's a bug in spoe_release_appctx() which checks the presence of items
in the wrong list rt[tid].agents to run over rt[tid].waiting_queue and
zero their spoe_appctx. The effect is that these contexts are not zeroed
and if spoe_stop_processing() is called, "sa->cur_fpa--" will be applied
to one of these recently freed contexts and will corrupt random memory
locations, as found at least in bugs #1494 and #1525.

This must be backported to all stable versions.

Many thanks to Christian Ruppert from Babiel for exchanging so many
useful traces over the last two months, testing debugging code and
helping set up a similar environment to reproduce it!
src/flt_spoe.c