diff options
author | Melanie Thielker | 2009-05-09 12:04:40 +0000 |
---|---|---|
committer | Melanie Thielker | 2009-05-09 12:04:40 +0000 |
commit | e4236a4233322fd3238d671c70d5e778a12149cf (patch) | |
tree | c9f7d69fd3d22505b3afff34279171ac2bb7c877 | |
parent | * Cripples the SampleMoneyModule code. (diff) | |
download | opensim-SC-e4236a4233322fd3238d671c70d5e778a12149cf.zip opensim-SC-e4236a4233322fd3238d671c70d5e778a12149cf.tar.gz opensim-SC-e4236a4233322fd3238d671c70d5e778a12149cf.tar.bz2 opensim-SC-e4236a4233322fd3238d671c70d5e778a12149cf.tar.xz |
Fox a boo-boo in ExtraParams - a packet with no data blocks could crash
the session. Also allow multiple data blocks.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index b355c89..f9db91c 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -5713,9 +5713,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5713 | handlerUpdateExtraParams = OnUpdateExtraParams; | 5713 | handlerUpdateExtraParams = OnUpdateExtraParams; |
5714 | if (handlerUpdateExtraParams != null) | 5714 | if (handlerUpdateExtraParams != null) |
5715 | { | 5715 | { |
5716 | handlerUpdateExtraParams(m_agentId, extraPar.ObjectData[0].ObjectLocalID, | 5716 | for (int i = 0 ; i < extraPar.ObjectData.Length ; i++) |
5717 | extraPar.ObjectData[0].ParamType, | 5717 | { |
5718 | extraPar.ObjectData[0].ParamInUse, extraPar.ObjectData[0].ParamData); | 5718 | handlerUpdateExtraParams(m_agentId, extraPar.ObjectData[i].ObjectLocalID, |
5719 | extraPar.ObjectData[i].ParamType, | ||
5720 | extraPar.ObjectData[i].ParamInUse, extraPar.ObjectData[i].ParamData); | ||
5721 | } | ||
5719 | } | 5722 | } |
5720 | break; | 5723 | break; |
5721 | case PacketType.ObjectDuplicate: | 5724 | case PacketType.ObjectDuplicate: |