From: Jay Freeman (saurik) Date: Fri, 3 Jul 2015 23:55:04 +0000 (-0700) Subject: Packages with corrupt Info.plist throw exceptions. X-Git-Tag: v1.1.20~7 X-Git-Url: https://git.saurik.com/cydia.git/commitdiff_plain/75d2e4264fb9c7ccb9e90d91a71f14bf5ca67b66 Packages with corrupt Info.plist throw exceptions. --- 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];