aboutsummaryrefslogtreecommitdiff
path: root/darwin-bootstrap/substituted.m
diff options
context:
space:
mode:
authorcomex2015-07-12 14:26:39 -0400
committercomex2015-07-12 14:26:39 -0400
commit935c1cecba0fc2c9bc09e9740a50d774e520bfa4 (patch)
tree5fa45cbc4ef1c742d38b3c288cefb73327328c30 /darwin-bootstrap/substituted.m
parentImportant: Fix fd leak that I think was the culprit for substitute'd devices ... (diff)
downloadsubstitute-935c1cecba0fc2c9bc09e9740a50d774e520bfa4.tar.gz
safetydance work, but it's broken
Diffstat (limited to 'darwin-bootstrap/substituted.m')
-rw-r--r--darwin-bootstrap/substituted.m10
1 files changed, 9 insertions, 1 deletions
diff --git a/darwin-bootstrap/substituted.m b/darwin-bootstrap/substituted.m
index 43654c2..2c3217b 100644
--- a/darwin-bootstrap/substituted.m
+++ b/darwin-bootstrap/substituted.m
@@ -77,6 +77,12 @@ enum convert_filters_ret {
- (enum convert_filters_ret)
convertFiltersForBundleInfo:(NSDictionary *)plist_dict
toXPCReply:(xxpc_object_t)out_info {
+
+ for (NSString *key in [plist_dict allKeys]) {
+ if (!([key isEqualToString:@"Filter"]))
+ return INVALID;
+ }
+
NSDictionary *filter = [plist_dict objectForKey:@"Filter"];
if (!filter)
return PROVISIONAL_PASS;
@@ -201,7 +207,9 @@ enum convert_filters_ret {
_argv0 = [NSString stringWithCString:argv0
encoding:NSUTF8StringEncoding];
- _is_springboard = [_argv0 isEqualToString:@"SpringBoard"];
+ NSString *sb_exe =
+ @"/System/Library/CoreServices/SpringBoard.app/SpringBoard";
+ _is_springboard = [_argv0 isEqualToString:sb_exe];
xxpc_object_t bundles = xxpc_array_create(NULL, 0);