diff options
Diffstat (limited to 'lib/darwin/inject.c')
-rw-r--r-- | lib/darwin/inject.c | 2 |
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) { |