Fixed asan error (use after poison)
This commit is contained in:
@@ -891,13 +891,13 @@ MergeMiningClientTari::TariClient::TariClient()
|
||||
m_buf[0] = '\0';
|
||||
}
|
||||
|
||||
void MergeMiningClientTari::TariClient::reset()
|
||||
void MergeMiningClientTari::TariClient::break_pairing()
|
||||
{
|
||||
if (is_paired()) {
|
||||
m_pairedClient->m_pairedClient = nullptr;
|
||||
m_pairedClient->close();
|
||||
m_pairedClient = nullptr;
|
||||
}
|
||||
m_pairedClient = nullptr;
|
||||
m_pairedClientSavedResetCounter = std::numeric_limits<uint32_t>::max();
|
||||
}
|
||||
|
||||
|
||||
@@ -113,15 +113,18 @@ private:
|
||||
static Client* allocate() { return new TariClient(); }
|
||||
virtual size_t size() const override { return sizeof(TariClient); }
|
||||
|
||||
void reset() override;
|
||||
void reset() override { break_pairing(); }
|
||||
[[nodiscard]] bool on_connect() override;
|
||||
[[nodiscard]] bool on_read(const char* data, uint32_t size) override;
|
||||
void on_disconnected() override { break_pairing(); }
|
||||
|
||||
alignas(8) char m_buf[BUF_SIZE];
|
||||
std::vector<uint8_t> m_pendingData;
|
||||
|
||||
bool is_paired() const { return m_pairedClient && (m_pairedClient->m_resetCounter == m_pairedClientSavedResetCounter); }
|
||||
|
||||
void break_pairing();
|
||||
|
||||
TariClient* m_pairedClient;
|
||||
uint32_t m_pairedClientSavedResetCounter;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user