From 2a51d12219eb6a0e7216e93661e46cc81ef95c63 Mon Sep 17 00:00:00 2001 From: Eddoursul Date: Mon, 15 Jan 2024 22:16:23 +0100 Subject: [PATCH] Handle null pointers in IsInRegion --- SKSE/Plugins/EnderalSE.dll | 4 ++-- scripts/_00E_ContainerController.pex | Bin 9950 -> 9950 bytes source/Enderal DLL/src/PapyrusFunctions.h | 12 +++++++++--- source/scripts/_00E_ContainerController.psc | 5 ++--- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/SKSE/Plugins/EnderalSE.dll b/SKSE/Plugins/EnderalSE.dll index c823c9df..1999366a 100644 --- a/SKSE/Plugins/EnderalSE.dll +++ b/SKSE/Plugins/EnderalSE.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:04bb1e5a0143c298cc2bb816ba71494c34761521015c915045956d8fe22821f9 -size 759296 +oid sha256:a3d15e14f1d7236f63d278001a67bc34cce6569b4fef5a79bc1c5ba61cd0fa5e +size 3415552 diff --git a/scripts/_00E_ContainerController.pex b/scripts/_00E_ContainerController.pex index 7ba6ca0dcdd4bf924975869c8c32cad123199a72..800ea3780320bd0dafe5e5624663e2eb22f5206a 100644 GIT binary patch literal 9950 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 fY~`o!UGGz|0^+_FisM{parentCell; if (!parentCell) { @@ -113,9 +117,11 @@ namespace Papyrus::PapyrusFunctions auto regions = parentCell->GetRegionList(false); - for (auto it = regions->begin(); it != regions->end(); it++) { - if ((*it)->formID == playerRegion->formID) { - return true; + if (regions) { + for (auto it = regions->begin(); it != regions->end(); it++) { + if ((*it) && (*it)->formID == playerRegion->formID) { + return true; + } } } diff --git a/source/scripts/_00E_ContainerController.psc b/source/scripts/_00E_ContainerController.psc index 91ee2623..986b6128 100644 --- a/source/scripts/_00E_ContainerController.psc +++ b/source/scripts/_00E_ContainerController.psc @@ -142,15 +142,14 @@ Function IncrementGold(ObjectReference targetContainer) int iGoldMultiplicator = _00E_GoldMult.GetValue() as int - if iGoldMultiplicator == 0 - ; Prevent division by zero + if iGoldMultiplicator <= 0 iGoldMultiplicator = 5 endif float fIncrementPercentage = ( PlayerREF.GetActorValue("Lockpicking") / iGoldMultiplicator ) / 100 int iGoldBuffAmount = ( targetContainer.GetItemCount(Gold001) * fIncrementPercentage ) as Int - if iGoldBuffAmount == 0 + if iGoldBuffAmount <= 0 return endif