diff --git a/ChangeLog b/ChangeLog index 7148063faf9..8bef3936db1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,6 @@ 1.2.13 released + * fix super-seeding issue that could cause a segfault * fix data race in python binding of session::get_torrent_status() * fix need_save_resume_data() for renaming files, share-mode, upload-mode, disable- pex, lsd, and dht. diff --git a/src/peer_connection.cpp b/src/peer_connection.cpp index a9564251439..335926f24d4 100644 --- a/src/peer_connection.cpp +++ b/src/peer_connection.cpp @@ -1048,11 +1048,14 @@ namespace libtorrent { bool peer_connection::has_piece(piece_index_t const i) const { TORRENT_ASSERT(is_single_thread()); +#if TORRENT_USE_ASSERTS std::shared_ptr t = m_torrent.lock(); TORRENT_ASSERT(t); TORRENT_ASSERT(t->valid_metadata()); TORRENT_ASSERT(i >= piece_index_t(0)); TORRENT_ASSERT(i < t->torrent_file().end_piece()); +#endif + if (m_have_piece.empty()) return false; return m_have_piece[i]; }