From 75d2e4264fb9c7ccb9e90d91a71f14bf5ca67b66 Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Fri, 3 Jul 2015 16:55:04 -0700 Subject: [PATCH] Packages with corrupt Info.plist throw exceptions. --- MobileCydia.mm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/MobileCydia.mm b/MobileCydia.mm index bd5ef597..55283115 100644 --- a/MobileCydia.mm +++ b/MobileCydia.mm @@ -3166,8 +3166,10 @@ struct PackageNameOrdering : for (NSString *file in files) if (application_r(file)) { NSDictionary *info([NSDictionary dictionaryWithContentsOfFile:file]); + if (info == nil) + continue; NSString *id([info objectForKey:@"CFBundleIdentifier"]); - if ([id isEqualToString:me]) + if (id == nil || [id isEqualToString:me]) continue; NSString *display([info objectForKey:@"CFBundleDisplayName"]); @@ -9538,7 +9540,7 @@ _end controller = [[[SectionController alloc] initWithDatabase:database_ source:nil section:argument] autorelease]; } - if (!external && [base isEqualToString:@"sources"]) { + if ([base isEqualToString:@"sources"]) { if ([argument isEqualToString:@"add"]) { controller = [[[SourcesController alloc] initWithDatabase:database_] autorelease]; [(SourcesController *)controller showAddSourcePrompt]; -- 2.47.2