Fixed ReadSculptData(): the check whether there are enough bytes to read was incorrect
parent
72838a04d6
commit
7fc820b3fd
|
@ -622,6 +622,8 @@ namespace OpenSim.Framework
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This is only used at runtime. For sculpties this holds the texture data, and for meshes
|
||||||
|
// the mesh data.
|
||||||
public byte[] SculptData
|
public byte[] SculptData
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
@ -1147,14 +1149,13 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public void ReadSculptData(byte[] data, int pos)
|
public void ReadSculptData(byte[] data, int pos)
|
||||||
{
|
{
|
||||||
byte[] SculptTextureUUID = new byte[16];
|
UUID SculptUUID;
|
||||||
UUID SculptUUID = UUID.Zero;
|
byte SculptTypel;
|
||||||
byte SculptTypel = data[16+pos];
|
|
||||||
|
|
||||||
if (data.Length+pos >= 17)
|
if (data.Length-pos >= 17)
|
||||||
{
|
{
|
||||||
_sculptEntry = true;
|
_sculptEntry = true;
|
||||||
SculptTextureUUID = new byte[16];
|
byte[] SculptTextureUUID = new byte[16];
|
||||||
SculptTypel = data[16 + pos];
|
SculptTypel = data[16 + pos];
|
||||||
Array.Copy(data, pos, SculptTextureUUID,0, 16);
|
Array.Copy(data, pos, SculptTextureUUID,0, 16);
|
||||||
SculptUUID = new UUID(SculptTextureUUID, 0);
|
SculptUUID = new UUID(SculptTextureUUID, 0);
|
||||||
|
|
Loading…
Reference in New Issue