Update the cached state once recheck is started

We have to force update the cached state, otherwise someone will be able to get an incorrect one during the interval until the cached state is updated in a regular way.

PR #18579.
Closes #18559.
This commit is contained in:
Vladimir Golovnev 2023-02-17 07:12:56 +03:00 committed by Vladimir Golovnev (glassez)
commit 8e81d44b3c
No known key found for this signature in database
GPG key ID: 52A2C7DEE2DFA6F7

View file

@ -1441,6 +1441,10 @@ void TorrentImpl::forceRecheck()
if (!hasMetadata()) return;
m_nativeHandle.force_recheck();
// We have to force update the cached state, otherwise someone will be able to get
// an incorrect one during the interval until the cached state is updated in a regular way.
m_nativeStatus.state = lt::torrent_status::checking_resume_data;
m_hasMissingFiles = false;
m_unchecked = false;
m_completedFiles.fill(false);