From: Jay Freeman (saurik) Date: Fri, 3 Jul 2015 20:37:03 +0000 (-0700) Subject: Restrict DYLD_ launchd injection in cydo's parent. X-Git-Tag: v1.1.20~11 X-Git-Url: https://git.saurik.com/cydia.git/commitdiff_plain/cf769c11b99abf71df6bf9528c8bf9956c7e18e0 Restrict DYLD_ launchd injection in cydo's parent. --- diff --git a/cydo.cpp b/cydo.cpp index 6fcde151..6d33f948 100644 --- a/cydo.cpp +++ b/cydo.cpp @@ -68,6 +68,19 @@ int main(int argc, char *argv[]) { if (pid != parent) return; + auto variables(launch_data_dict_lookup(value, LAUNCH_JOBKEY_ENVIRONMENTVARIABLES)); + if (variables != NULL && launch_data_get_type(variables) == LAUNCH_DATA_DICTIONARY) { + bool dyld(false); + + launch_data_dict_iterate(variables, [&dyld](const char *name, launch_data_t value) { + if (strncmp(name, "DYLD_", 5) == 0) + dyld = true; + }); + + if (dyld) + return; + } + auto string(launch_data_dict_lookup(value, LAUNCH_JOBKEY_PROGRAM)); if (string == NULL || launch_data_get_type(string) != LAUNCH_DATA_STRING) { auto array(launch_data_dict_lookup(value, LAUNCH_JOBKEY_PROGRAMARGUMENTS));