mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-25 07:46:01 +03:00
[PR #2394] [MERGED] Better bounds checks for sceKernelDlsym #2699
Labels
No labels
Bloodborne
bug
contributor wanted
documentation
enhancement
frontend
good first issue
help wanted
linux
pull-request
question
release
verification progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shadPS4#2699
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/shadps4-emu/shadPS4/pull/2394
Author: @StevenMiller123
Created: 2/10/2025
Status: ✅ Merged
Merged: 2/10/2025
Merged by: @squidbus
Base:
main← Head:unity-fixes📝 Commits (1)
61a1680Better bounds checks for sceKernelDlsym📊 Changes
2 files changed (+7 additions, -1 deletions)
View changed files
📝
src/core/libraries/kernel/process.cpp(+3 -0)📝
src/core/linker.h(+4 -1)📄 Description
Unity, being the awful game engine it is, checks for a return value of zero to determine if sceKernelLoadStartModule failed. This results in it throwing an error code into sceKernelDlsym's handle parameter when the module it's searching for doesn't exist in a game's files.
To solve this, I added proper bounds checks to Linker::GetModule, and relevant error handling in sceKernelDlsym.
This improves behavior in NEO : The World Ends with You (CUSA26376)
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.