Addresses issues with PapyrusActorValueInfo::GetPerk.* implementation.#40
Open
sky-void0 wants to merge 3 commits intoianpatt:masterfrom
Open
Addresses issues with PapyrusActorValueInfo::GetPerk.* implementation.#40sky-void0 wants to merge 3 commits intoianpatt:masterfrom
sky-void0 wants to merge 3 commits intoianpatt:masterfrom
Conversation
Owner
|
Just as a heads up, Fallout 4 is about to be set on fire by the new update and I am going to have a ton of script extender stuff to do at very high priority with basically no free time, so this is going to take a bit to get to. |
Author
|
Thanks for the update. I completely understand, please don't feel any pressure to get to this. It's honestly perplexing how you manage, maintain and support so many versions of the extender for so many games, and for this long. And how you still release lightning fast updates whenever Bethesda decides to unleash another round of mayhem. Big kudos to you sir. The entire community owes you and the rest of team an enormous debt of gratitude 👍 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hello Ian,
First of all, my earnest apologies for the misunderstanding before. I made unrealistic assumptions based on PRs history. Please, take as long you need to review these and any future patches. Whether it takes a month or a year, I'm here if you've any questions/concerns/comments.
Cheers.
Rationale
In its current implementation, PapyrusActorValueInfo::GetPerkxxx functions can generate a stack overflow when traversing a malformed perk tree with cyclically linked nodes. e.g https://www.nexusmods.com/skyrimspecialedition/mods/20605. These patches address the issue by establishing a max recursion depth limit. Additionally, the added perks are checked to avoid repetitions in the resulting perk array, which is something that can happen even with conventional perk trees.
The last patch doesn't fix anything, it's just an "improvement" I made while I was debugging that section. Feel free to Ignore or merge it, if you feel so inclined.