From 2c07e488b1fac442b9ae354da99064c35461b545 Mon Sep 17 00:00:00 2001 From: Arvid Norberg Date: Sun, 3 Jul 2011 15:57:41 +0000 Subject: [PATCH] fix assert in storage::physical_offset when peers requests pad files --- src/storage.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/storage.cpp b/src/storage.cpp index 75291eddd..d1562cad3 100644 --- a/src/storage.cpp +++ b/src/storage.cpp @@ -989,6 +989,12 @@ ret: size_type tor_off = size_type(slot) * files().piece_length() + offset; file_storage::iterator file_iter = files().file_at_offset(tor_off); + while (file_iter->pad_file) + { + ++file_iter; + if (file_iter == m_files.end()) + return size_type(slot) * files().piece_length() + offset; + } TORRENT_ASSERT(!file_iter->pad_file); size_type file_offset = tor_off - file_iter->offset;