mirror of
https://github.com/opensim/opensim.git
synced 2026-08-07 09:45:47 +08:00
Guard against negative scale set through LSL functions
This commit is contained in:
@@ -1675,6 +1675,11 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
SceneObjectGroup objectGroup = grp;
|
||||
if (objectGroup != null)
|
||||
{
|
||||
if (!grp.HasGroupChanged)
|
||||
{
|
||||
m_log.InfoFormat("Detaching {0} which is unchanged", grp.UUID.ToString());
|
||||
return;
|
||||
}
|
||||
string sceneObjectXml = objectGroup.ToXmlString();
|
||||
|
||||
CachedUserInfo userInfo =
|
||||
|
||||
@@ -1115,6 +1115,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||
if (part == null || part.ParentGroup == null || part.ParentGroup.RootPart == null)
|
||||
return;
|
||||
|
||||
if (scale.x < 0.01 || scale.y < 0.01 || scale.z < 0.01)
|
||||
return;
|
||||
|
||||
if (part.ParentGroup.RootPart.PhysActor != null && part.ParentGroup.RootPart.PhysActor.IsPhysical)
|
||||
{
|
||||
if (scale.x > World.m_maxPhys)
|
||||
|
||||
Reference in New Issue
Block a user