diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index f9c9280935..02c0d3878e 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -13221,6 +13221,24 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void llLoadURL(string avatar_id, string message, string url) { m_host.AddScriptLPS(1); + if(m_host.OwnerID == m_host.GroupID) + return; + try + { + Uri m_checkuri = new Uri(url); + if (m_checkuri.Scheme != Uri.UriSchemeHttp && m_checkuri.Scheme != Uri.UriSchemeHttps) + { + Error("llLoadURL","Invalid url schema"); + ScriptSleep(200); + return; + } + } + catch + { + Error("llLoadURL","Invalid url"); + ScriptSleep(200); + return; + } IDialogModule dm = World.RequestModuleInterface(); if (null != dm)