Revision: 29839
http://sourceforge.net/p/bibdesk/svn/29839
Author: hofman
Date: 2025-11-17 23:07:29 +0000 (Mon, 17 Nov 2025)
Log Message:
-----------
use secure coding for font well
Modified Paths:
--------------
trunk/bibdesk/BDSKFontWell.m
Modified: trunk/bibdesk/BDSKFontWell.m
===================================================================
--- trunk/bibdesk/BDSKFontWell.m 2025-11-17 16:27:43 UTC (rev 29838)
+++ trunk/bibdesk/BDSKFontWell.m 2025-11-17 23:07:29 UTC (rev 29839)
@@ -255,7 +255,7 @@
}];
NSDictionary *dict = @{BDSKNSFontCollectionFontDescriptors: @[[[self
font] fontDescriptor]], NSFontSizeAttribute: [NSNumber numberWithDouble:[[self
font] pointSize]]};
- NSData *data = [NSKeyedArchiver archivedDataWithRootObject:dict
requiringSecureCoding:NO error:NULL];
+ NSData *data = [NSKeyedArchiver archivedDataWithRootObject:dict
requiringSecureCoding:YES error:NULL];
NSPasteboardItem *item = [[NSPasteboardItem alloc] init];
[item setData:data
forType:UTIForNSPboardType(BDSKNSFontPanelDescriptorsPboardType)];
@@ -304,13 +304,7 @@
@try {
if ([type isEqualToString:BDSKNSFontPanelDescriptorsPboardType]) {
NSData *data = [pboard dataForType:type];
- NSDictionary *dict = nil;
- if (data) {
- NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc]
initForReadingFromData:data error:NULL];
- [unarchiver setRequiresSecureCoding:NO];
- dict = [unarchiver
decodeObjectForKey:NSKeyedArchiveRootObjectKey];
- [unarchiver finishDecoding];
- }
+ NSDictionary *dict = [data isKindOfClass:[NSData class]] ?
[NSKeyedUnarchiver unarchivedObjectOfClasses:[NSSet
setWithObjects:[NSDictionary class], [NSString class], [NSNumber class],
[NSArray class], [NSFontDescriptor class], nil] fromData:data error:NULL] : nil;
if ([dict isKindOfClass:[NSDictionary class]]) {
NSArray *fontDescriptors = [dict
objectForKey:BDSKNSFontCollectionFontDescriptors];
NSFontDescriptor *fontDescriptor = ([fontDescriptors
isKindOfClass:[NSArray class]] && [fontDescriptors count]) ? [fontDescriptors
objectAtIndex:0] : nil;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit