aboutsummaryrefslogtreecommitdiff
path: root/lib/darwin/inject.c
diff options
context:
space:
mode:
authorcomex2015-01-28 02:54:21 -0500
committercomex2015-01-28 02:54:21 -0500
commit6536ff3cd2b2fac8a2068058735e77479341f19f (patch)
treeaa7186817874fc41ce8087cdcd4d520dbbc9b45a /lib/darwin/inject.c
parentsorta (diff)
downloadsubstitute-6536ff3cd2b2fac8a2068058735e77479341f19f.tar.gz
***yawn***
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) {