mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-01-02 07:07:39 +00:00
Use raw execve
Some devices have broken libc...
This commit is contained in:
parent
1134b18a8b
commit
f69a004c1c
@ -319,7 +319,7 @@ static void exec_common_script(const char* stage) {
|
||||
LOGI("%s.d: exec [%s]\n", stage, entry->d_name);
|
||||
int pid = exec_command(false, nullptr,
|
||||
strcmp(stage, "post-fs-data") ? set_path : set_mirror_path,
|
||||
"sh", entry->d_name, nullptr);
|
||||
MIRRDIR "/system/bin/sh", entry->d_name, nullptr);
|
||||
if (pid != -1)
|
||||
waitpid(pid, nullptr, 0);
|
||||
}
|
||||
@ -338,7 +338,7 @@ static void exec_module_script(const char* stage) {
|
||||
LOGI("%s: exec [%s.sh]\n", module, stage);
|
||||
int pid = exec_command(false, nullptr,
|
||||
strcmp(stage, "post-fs-data") ? set_path : set_mirror_path,
|
||||
"sh", buf2, nullptr);
|
||||
MIRRDIR "/system/bin/sh", buf2, nullptr);
|
||||
if (pid != -1)
|
||||
waitpid(pid, nullptr, 0);
|
||||
}
|
||||
|
@ -211,8 +211,8 @@ int exec_array(bool err, int *fd, void (*pre_exec)(void), const char **argv) {
|
||||
if (pre_exec)
|
||||
pre_exec();
|
||||
|
||||
execvp(argv[0], (char **) argv);
|
||||
PLOGE("execvp %s", argv[0]);
|
||||
execve(argv[0], (char **) argv, environ);
|
||||
PLOGE("execve %s", argv[0]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user