Так не будет иллюзии что есть хешсет торрента. Я то все думал откуда там мусор. Если нулевой хешсет задан спциально то оставь только DownloadWithTiger.cpp. Но мне кажется нулевой хешсет будет за зря память фрагментиовать и сбивать столку.
У торрента выделение нулевого хешсета при btih в магните гарантированно происходит. У остальных насколько я понимаю только если нам подсунут нулевой хешсет а до этого сохраняется нулевой указатель.
В общем надо все места.
if ( m_p[Torrent|Tiger|Hashset]Block )
заменить на
if ( m_p[Torrent|Tiger|Hashset]Block && m_n[Torrent|Tiger|Hashset]Block )