SL-16404 Crash in assetRequestCoro

Access violation at writing received data to vfs file. Most crashes indicate network issues, so adding additional response validation.
master
Andrey Kleshchev 2021-11-24 00:24:29 +02:00
parent 98b416ff5c
commit 317698ff51
1 changed files with 12 additions and 0 deletions

View File

@ -570,6 +570,18 @@ void LLViewerAssetStorage::assetRequestCoro(
result_code = LL_ERR_ASSET_REQUEST_FAILED;
ext_status = LLExtStat::NONE;
}
else if (!result.has(LLCoreHttpUtil::HttpCoroutineAdapter::HTTP_RESULTS_RAW))
{
LL_DEBUGS("ViewerAsset") << "request failed, no data returned!" << LL_ENDL;
result_code = LL_ERR_ASSET_REQUEST_FAILED;
ext_status = LLExtStat::NONE;
}
else if (!result[LLCoreHttpUtil::HttpCoroutineAdapter::HTTP_RESULTS_RAW].isBinary())
{
LL_DEBUGS("ViewerAsset") << "request failed, invalid data format!" << LL_ENDL;
result_code = LL_ERR_ASSET_REQUEST_FAILED;
ext_status = LLExtStat::NONE;
}
else
{
LL_DEBUGS("ViewerAsset") << "request succeeded, url " << url << LL_ENDL;