mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-23 08:12:08 +00:00
We take a reference of endpoint_state entry in endpoint_state_map. We access it again after code which defers, the reference can be invalid after the defer if someone deletes the entry during the defer. Fix this by checking take the reference again after the defering code. I also audited the code to remove unsafe reference to endpoint_state_map entry as much as possible. Fixes the following SIGSEGV: Core was generated by `/usr/bin/scylla --log-to-syslog 1 --log-to-stdout 0 --default-log-level info --'. Program terminated with signal SIGSEGV, Segmentation fault. (this=<optimized out>) at /usr/include/c++/5/bits/stl_pair.h:127 127 in /usr/include/c++/5/bits/stl_pair.h [Current thread is 1 (Thread 0x7f1448f39bc0 (LWP 107308))] Fixes #2271 Message-Id: <529ec8ede6da884e844bc81d408b93044610afd2.1491960061.git.asias@scylladb.com>