Explicitly state assumption that state.m_chain_sync.m_work_header != nullptr in Consi...
commit63c2d83e58c7506a1030e7fe4dcea84cdce97147
authorpracticalswift <practicalswift@users.noreply.github.com>
Fri, 10 Nov 2017 14:22:54 +0000 (10 15:22 +0100)
committerpracticalswift <practicalswift@users.noreply.github.com>
Fri, 10 Nov 2017 14:37:37 +0000 (10 15:37 +0100)
tree677047ac759c3a07d737cdd8195f8ee87ebc03d0
parentfe503e118f08a9a781d8cc1a6cdde5a615178433
Explicitly state assumption that state.m_chain_sync.m_work_header != nullptr in ConsiderEviction

Static analyzer (and humans!) will see ...

```
else if (state.m_chain_sync.m_timeout == 0 || (state.m_chain_sync.m_work_header != nullptr && ...
```

... and infer that state.m_chain_sync.m_work_header might be set to nullptr,
and thus flag `state.m_chain_sync.m_work_header->GetBlockHash().ToString()`
as a potential null pointer dereference.

This commit makes the tacit assumption (m_work_header != nullptr) explicit.

Code introduced in 5a6d00 ("Permit disconnection of outbound peers on
bad/slow chains") which was merged into master four days ago.
src/net_processing.cpp