]> git.saurik.com Git - cydia.git/commitdiff
Packages with corrupt Info.plist throw exceptions.
authorJay Freeman (saurik) <saurik@saurik.com>
Fri, 3 Jul 2015 23:55:04 +0000 (16:55 -0700)
committerJay Freeman (saurik) <saurik@saurik.com>
Fri, 3 Jul 2015 23:55:04 +0000 (16:55 -0700)
MobileCydia.mm

index bd5ef5979615d3413479e7b5156ed87e541223e3..55283115bcf5a5681033be2eeb30a8b21f6faa62 100644 (file)
@@ -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];