From d0c707209abf50902d4fb748138d8a52070ea3ed Mon Sep 17 00:00:00 2001 From: Melanie Date: Sat, 23 Oct 2010 22:40:56 +0100 Subject: [PATCH] Prevent an exception if a string passed into llXorBase64StringsCorrect is not a base 64 string. Return the empty string in this case. --- .../Shared/Api/Implementation/LSL_Api.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 3249ae2a2d..36ca542e71 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -10145,8 +10145,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (str2 == String.Empty) return str1; - byte[] data1 = Convert.FromBase64String(str1); - byte[] data2 = Convert.FromBase64String(str2); + byte[] data1; + byte[] data2; + try + { + data1 = Convert.FromBase64String(str1); + data2 = Convert.FromBase64String(str2); + } + catch (Exception) + { + return new LSL_String(String.Empty); + } byte[] d2 = new Byte[data1.Length]; int pos = 0;