Fix possible crash in CDN file loading.

Этот коммит содержится в:
John Preston 2020-01-17 17:45:43 +03:00
родитель 3643622e1b
Коммит d24735b217
2 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -487,6 +487,13 @@ void DownloadMtprotoTask::removeSession(int sessionIndex) {
redirect.push_back({ requestId, requestData.offset });
}
}
for (auto &[requestData, bytes] : _cdnUncheckedParts) {
if (requestData.sessionIndex == sessionIndex) {
const auto newIndex = _owner->chooseSessionIndex(dcId());
Assert(newIndex < sessionIndex);
requestData.sessionIndex = newIndex;
}
}
for (const auto &[requestId, offset] : redirect) {
cancelRequest(requestId);
const auto newIndex = _owner->chooseSessionIndex(dcId());

Просмотреть файл

@ -163,7 +163,7 @@ protected:
private:
struct RequestData {
int offset = 0;
int sessionIndex = 0;
mutable int sessionIndex = 0;
int requestedInSession = 0;
crl::time sent = 0;