Fix execve and cleanup code

This commit is contained in:
EnderIce2 2024-03-20 17:40:27 +02:00
parent 665b26f754
commit 76367669be
Signed by untrusted user who does not match committer: enderice2
GPG Key ID: EACC3AD603BAB4DD

View File

@ -609,7 +609,6 @@ static int linux_access(SysFrm *, const char *pathname, int mode)
return -ENOENT; return -ENOENT;
stub; stub;
fixme("access(%s, %d)", (char *)pPathname, mode);
return 0; return 0;
} }
@ -807,8 +806,8 @@ __no_sanitize("undefined") static int linux_execve(SysFrm *sf, const char *pathn
Memory::VirtualMemoryArea *vma = pcb->vma; Memory::VirtualMemoryArea *vma = pcb->vma;
auto pPathname = vma->UserCheckAndGetAddress(pathname, PAGE_SIZE); auto pPathname = vma->UserCheckAndGetAddress(pathname, PAGE_SIZE);
auto pArgv = vma->UserCheckAndGetAddress(argv, 1/*MAX_ARG*/); /* MAX_ARG is too much? */ auto pArgv = vma->UserCheckAndGetAddress(argv, 1 /*MAX_ARG*/); /* MAX_ARG is too much? */
auto pEnvp = vma->UserCheckAndGetAddress(envp, 1/*MAX_ARG*/); auto pEnvp = vma->UserCheckAndGetAddress(envp, 1 /*MAX_ARG*/);
if (pPathname == nullptr || pArgv == nullptr || pEnvp == nullptr) if (pPathname == nullptr || pArgv == nullptr || pEnvp == nullptr)
return -EFAULT; return -EFAULT;
@ -2030,11 +2029,9 @@ static int linux_prlimit64(SysFrm *, pid_t pid, int resource,
case RLIMIT_CPU: case RLIMIT_CPU:
case RLIMIT_FSIZE: case RLIMIT_FSIZE:
case RLIMIT_DATA: case RLIMIT_DATA:
case RLIMIT_STACK:
case RLIMIT_CORE: case RLIMIT_CORE:
case RLIMIT_RSS: case RLIMIT_RSS:
case RLIMIT_NPROC: case RLIMIT_NPROC:
case RLIMIT_NOFILE:
case RLIMIT_MEMLOCK: case RLIMIT_MEMLOCK:
case RLIMIT_AS: case RLIMIT_AS:
case RLIMIT_LOCKS: case RLIMIT_LOCKS: