error handling fixes
This commit is contained in:
parent
832c0c8b63
commit
c69fa07e2d
|
@ -86,7 +86,7 @@ namespace libtorrent
|
|||
BN_bn2bin(m_DH->pub_key, (unsigned char*)m_dh_local_key); // TODO Check return value
|
||||
}
|
||||
|
||||
DH_key_exchange::~DH_key_exchange ()
|
||||
DH_key_exchange::~DH_key_exchange()
|
||||
{
|
||||
TORRENT_ASSERT(m_DH);
|
||||
DH_free(m_DH);
|
||||
|
@ -108,6 +108,7 @@ namespace libtorrent
|
|||
|
||||
int secret_size = DH_compute_key((unsigned char*)dh_secret
|
||||
, bn_remote_pubkey, m_DH);
|
||||
if (secret_size < 0 || secret_size > 96) throw std::bad_alloc();
|
||||
|
||||
if (secret_size != 96)
|
||||
{
|
||||
|
@ -139,3 +140,4 @@ namespace libtorrent
|
|||
} // namespace libtorrent
|
||||
|
||||
#endif // #ifndef TORRENT_DISABLE_ENCRYPTION
|
||||
|
||||
|
|
|
@ -1789,7 +1789,8 @@ namespace libtorrent
|
|||
INVARIANT_CHECK;
|
||||
|
||||
boost::shared_ptr<torrent> t = m_torrent.lock();
|
||||
TORRENT_ASSERT(t);
|
||||
// this peer might be disconnecting
|
||||
if (!t) return;
|
||||
|
||||
TORRENT_ASSERT(t->valid_metadata());
|
||||
|
||||
|
|
Loading…
Reference in New Issue