diff options
author | Charles Krinke | 2008-06-19 21:00:09 +0000 |
---|---|---|
committer | Charles Krinke | 2008-06-19 21:00:09 +0000 |
commit | 786fd3534dc169b3936bf3d8fd7cade41d28db96 (patch) | |
tree | 8c17648832c5b51e5163940c0c560ce3956da239 | |
parent | Mantis#1543. Thank you kindly, Jonc for a patch that: (diff) | |
download | opensim-SC-786fd3534dc169b3936bf3d8fd7cade41d28db96.zip opensim-SC-786fd3534dc169b3936bf3d8fd7cade41d28db96.tar.gz opensim-SC-786fd3534dc169b3936bf3d8fd7cade41d28db96.tar.bz2 opensim-SC-786fd3534dc169b3936bf3d8fd7cade41d28db96.tar.xz |
Mantis#1572. Thank you kindly, Lulurun for a patch that addresses:
In function "ReadInExtraParamsBytes", parameter "data" is used without a boundary check.
if data.Length==0, an "out of index" exception will be thrown.
-rw-r--r-- | OpenSim/Framework/PrimitiveBaseShape.cs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/OpenSim/Framework/PrimitiveBaseShape.cs b/OpenSim/Framework/PrimitiveBaseShape.cs index aa88717..1f5428b 100644 --- a/OpenSim/Framework/PrimitiveBaseShape.cs +++ b/OpenSim/Framework/PrimitiveBaseShape.cs | |||
@@ -450,7 +450,11 @@ namespace OpenSim.Framework | |||
450 | bool lGotSculpt = false; | 450 | bool lGotSculpt = false; |
451 | 451 | ||
452 | int i = 0; | 452 | int i = 0; |
453 | byte extraParamCount = data[i++]; | 453 | byte extraParamCount = 0; |
454 | if (data.Length > 0) | ||
455 | { | ||
456 | extraParamCount = data[i++]; | ||
457 | } | ||
454 | 458 | ||
455 | 459 | ||
456 | for (int k = 0; k < extraParamCount; k++) | 460 | for (int k = 0; k < extraParamCount; k++) |
@@ -625,4 +629,4 @@ namespace OpenSim.Framework | |||
625 | return data; | 629 | return data; |
626 | } | 630 | } |
627 | } | 631 | } |
628 | } \ No newline at end of file | 632 | } |