Merge branch 'master' into httptests

UbitUmarov [2018-04-28 11:45:32]
Merge branch 'master' into httptests
Filename
OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
index c32de62..7ba4a48 100644
--- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
+++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
@@ -2033,18 +2033,25 @@ namespace OpenSim.Region.CoreModules.World.Land
                     {
                         UUID parcel = UUID.Zero;
                         UUID.TryParse(id, out parcel);
+
                         // assume we've got the parcelID we just computed in RemoteParcelRequest
                         ExtendedLandData extLandData = new ExtendedLandData();
                         if(!Util.ParseFakeParcelID(parcel, out extLandData.RegionHandle,
                                                out extLandData.X, out extLandData.Y))
                             return null;
-                        m_log.DebugFormat("[LAND MANAGEMENT MODULE]: Got parcelinfo request for regionHandle {0}, x/y {1}/{2}",
+                        m_log.DebugFormat("[LAND MANAGEMENT MODULE] : Got parcelinfo request for regionHandle {0}, x/y {1}/{2}",
                                           extLandData.RegionHandle, extLandData.X, extLandData.Y);

                         // for this region or for somewhere else?
                         if (extLandData.RegionHandle == m_scene.RegionInfo.RegionHandle)
                         {
-                            extLandData.LandData = this.GetLandObject(extLandData.X, extLandData.Y).LandData;
+                            ILandObject extLandObject = this.GetLandObject(extLandData.X, extLandData.Y);
+                            if(extLandObject == null)
+                            {
+                                m_log.DebugFormat("[LAND MANAGEMENT MODULE]: ParcelInfoRequest: a FakeParcelID points to outside the region");
+                                return null;
+                            }
+                            extLandData.LandData = extLandObject.LandData;
                             extLandData.RegionAccess = m_scene.RegionInfo.AccessLevel;
                         }
                         else
ViewGit