aboutsummaryrefslogtreecommitdiff
path: root/lib/darwin/inject.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/darwin/inject.c')
-rw-r--r--lib/darwin/inject.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/darwin/inject.c b/lib/darwin/inject.c
index 76ecbcb..6ec07fa 100644
--- a/lib/darwin/inject.c
+++ b/lib/darwin/inject.c
@@ -397,6 +397,7 @@ static int do_baton(const char *filename, size_t filelen, bool is64,
size_t filelen_rounded = (filelen + 7) & ~7;
size_t total_len = baton_len + shuttles_len + filelen_rounded;
mach_vm_address_t target_stack_top = target_stackpage_end - total_len;
+ target_stack_top &= ~7;
*target_stack_top_p = target_stack_top;
char *stackbuf = calloc(total_len, 1);
if (!stackbuf) {
@@ -505,6 +506,7 @@ fail:
return ret;
}
+EXPORT
int substitute_dlopen_in_pid(int pid, const char *filename, int options,
const struct shuttle *shuttle, size_t nshuttle,
char **error) {