Fix a major security problem with osSetDynamicTexture which allowed the deletion of /any/ asset.
parent
51bb311565
commit
d9c48e70a9
|
@ -361,10 +361,17 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
|
||||||
}
|
}
|
||||||
|
|
||||||
if (oldID != UUID.Zero && ((Disp & DISP_EXPIRE) != 0))
|
if (oldID != UUID.Zero && ((Disp & DISP_EXPIRE) != 0))
|
||||||
|
{
|
||||||
|
if (oldAsset == null) oldAsset = scene.AssetService.Get(oldID.ToString());
|
||||||
|
if (oldAsset != null)
|
||||||
|
{
|
||||||
|
if (oldAsset.Temporary == true)
|
||||||
{
|
{
|
||||||
scene.AssetService.Delete(oldID.ToString());
|
scene.AssetService.Delete(oldID.ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private byte[] BlendTextures(byte[] frontImage, byte[] backImage, bool setNewAlpha, byte newAlpha)
|
private byte[] BlendTextures(byte[] frontImage, byte[] backImage, bool setNewAlpha, byte newAlpha)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue