diff --git a/coregrind/m_initimg/initimg-darwin.c b/coregrind/m_initimg/initimg-darwin.c index 4d4808763..e6d4bae20 100644 --- a/coregrind/m_initimg/initimg-darwin.c +++ b/coregrind/m_initimg/initimg-darwin.c @@ -187,6 +187,13 @@ static HChar** setup_client_env ( HChar** origenv, const HChar* toolname) vg_assert(envc == (cpp - ret)); + /* Change VYLD_ to DYLD */ + for (i = 0; i < envc; i++) { + if (0 == VG_(strncmp)(ret[i], "VYLD_", 5)) { + ret[i][0] = 'D'; + } + } + /* Walk over the new environment, mashing as we go */ for (cpp = ret; cpp && *cpp; cpp++) { if (VG_(memcmp)(*cpp, ld_preload, ld_preload_len) == 0) { @@ -247,14 +254,6 @@ static HChar** setup_client_env ( HChar** origenv, const HChar* toolname) envc--; } - /* Change VYLD_ to DYLD */ - for (i = 0; i < envc; i++) { - if (0 == VG_(strncmp)(ret[i], "VYLD_", 5)) { - ret[i][0] = 'D'; - } - } - - VG_(free)(preload_string); ret[envc] = NULL; return ret;