From 614b279acbf02c5bd5a79ee6b5b8993bb26a8c56 Mon Sep 17 00:00:00 2001 From: Arvid Norberg Date: Sun, 27 Nov 2011 05:46:52 +0000 Subject: [PATCH] fix assert --- include/libtorrent/peer_connection.hpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/libtorrent/peer_connection.hpp b/include/libtorrent/peer_connection.hpp index 11448e143..7312a85d4 100644 --- a/include/libtorrent/peer_connection.hpp +++ b/include/libtorrent/peer_connection.hpp @@ -649,6 +649,11 @@ namespace libtorrent #ifndef TORRENT_DISABLE_ENCRYPTION buffer::interval wr_recv_buffer() { + if (m_recv_buffer.empty()) + { + TORRENT_ASSERT(m_recv_pos == 0); + return buffer::interval(0,0); + } TORRENT_ASSERT(!m_disk_recv_buffer); TORRENT_ASSERT(m_disk_recv_buffer_size == 0); int rcv_pos = (std::min)(m_recv_pos, int(m_recv_buffer.size())); @@ -661,6 +666,11 @@ namespace libtorrent buffer::const_interval receive_buffer() const { + if (m_recv_buffer.empty()) + { + TORRENT_ASSERT(m_recv_pos == 0); + return buffer::interval(0,0); + } int rcv_pos = (std::min)(m_recv_pos, int(m_recv_buffer.size())); return buffer::const_interval(&m_recv_buffer[0] , &m_recv_buffer[0] + rcv_pos);