Fix a major security problem with osSetDynamicTexture which allowed the deletion of /any/ asset.

mysql-performance
CasperW 2010-01-18 17:56:27 +01:00 committed by Melanie
parent 74b3ce8572
commit 3ff28e7a8f
1 changed files with 12 additions and 5 deletions

View File

@ -358,11 +358,18 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
// tmptex.DefaultTexture.Fullbright = true; // tmptex.DefaultTexture.Fullbright = true;
part.UpdateTexture(tmptex); part.UpdateTexture(tmptex);
} }
if (oldID != UUID.Zero && ((Disp & DISP_EXPIRE) != 0)) if (oldID != UUID.Zero && ((Disp & DISP_EXPIRE) != 0))
{ {
scene.AssetService.Delete(oldID.ToString()); if (oldAsset == null) oldAsset = scene.AssetService.Get(oldID.ToString());
if (oldAsset != null)
{
if (oldAsset.Temporary == true)
{
scene.AssetService.Delete(oldID.ToString());
}
}
} }
} }