Fix crash when closing session with VCA slaved solo

Session::destroy() calls drop_references(),
which leads to  InternalSend::send_from_going_away()
calling InternalSend::propagate_solo().

This looks up the SoloControl to test soloed_by_others(), incl.
and VCA maters. Those VCAs however may already have been destroyed,
and (weak pointer) _master.lock() fails.
This commit is contained in:
Robin Gareus 2020-05-13 17:55:09 +02:00
parent 7289be59c9
commit 10200f5e29
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -83,6 +83,9 @@ InternalSend::~InternalSend ()
void
InternalSend::propagate_solo ()
{
if (_session.inital_connect_or_deletion_in_progress ()) {
return;
}
if (!_send_to || !_send_from) {
return;
}