mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-06-02 12:45:46 -06:00
Lib.Kernel: Export empty environment (#4409)
* Export empty environment Media Player tries to read from environ before doing some rather freaky stuff, without anything exported it will just crash from dereferencing an invalid pointer. * Set program name Wasn't sure what the best way would be to do this * Just stub to eboot.bin Accurate enough, hopefully.
This commit is contained in:
parent
65986d8a8a
commit
622cfffaf2
@ -43,6 +43,8 @@
|
||||
namespace Libraries::Kernel {
|
||||
|
||||
static u64 g_stack_chk_guard = 0xDEADBEEF54321ABC; // dummy return
|
||||
static std::vector<char*> g_environ{};
|
||||
static const char* g_progname = "eboot.bin";
|
||||
|
||||
boost::asio::io_context io_context;
|
||||
static std::mutex m_asio_req;
|
||||
@ -446,6 +448,7 @@ u64 PS4_SYSV_ABI posix_sysconf(s32 name) {
|
||||
|
||||
void RegisterLib(Core::Loader::SymbolsResolver* sym) {
|
||||
service_thread = std::jthread{KernelServiceThread};
|
||||
g_environ.emplace_back(nullptr);
|
||||
|
||||
Libraries::Kernel::RegisterFileSystem(sym);
|
||||
Libraries::Kernel::RegisterTime(sym);
|
||||
@ -460,6 +463,8 @@ void RegisterLib(Core::Loader::SymbolsResolver* sym) {
|
||||
Libraries::Kernel::RegisterCoredump(sym);
|
||||
|
||||
LIB_OBJ("f7uOxY9mM1U", "libkernel", 1, "libkernel", &g_stack_chk_guard);
|
||||
LIB_OBJ("+2thxYZ4syk", "libkernel", 1, "libkernel", &g_environ)
|
||||
LIB_OBJ("djxxOmW6-aw", "libkernel", 1, "libkernel", &g_progname)
|
||||
LIB_FUNCTION("D4yla3vx4tY", "libkernel", 1, "libkernel", sceKernelError);
|
||||
LIB_FUNCTION("YeU23Szo3BM", "libkernel", 1, "libkernel", sceKernelGetAllowedSdkVersionOnSystem);
|
||||
LIB_FUNCTION("Mv1zUObHvXI", "libkernel", 1, "libkernel", sceKernelGetSystemSwVersion);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user