Revision: 15809
          http://sourceforge.net/p/skim-app/code/15809
Author:   hofman
Date:     2025-11-17 23:05:26 +0000 (Mon, 17 Nov 2025)
Log Message:
-----------
Use secure eencoding methods

Modified Paths:
--------------
    trunk/NSUserDefaults_SKExtensions.m
    trunk/NSValueTransformer_SKExtensions.m
    trunk/PDFAnnotation_SKExtensions.m
    trunk/SKFontWell.m

Modified: trunk/NSUserDefaults_SKExtensions.m
===================================================================
--- trunk/NSUserDefaults_SKExtensions.m 2025-11-17 22:42:24 UTC (rev 15808)
+++ trunk/NSUserDefaults_SKExtensions.m 2025-11-17 23:05:26 UTC (rev 15809)
@@ -76,7 +76,7 @@
 }
 
 - (void)setColor:(NSColor *)color forKey:(NSString *)key {
-    NSData *data = color ? [NSKeyedArchiver archivedDataWithRootObject:color] 
: nil;
+    NSData *data = color ? [NSKeyedArchiver archivedDataWithRootObject:color 
requiringSecureCoding:YES error:NULL] : nil;
     [self setObject:data forKey:key];
 }
 

Modified: trunk/NSValueTransformer_SKExtensions.m
===================================================================
--- trunk/NSValueTransformer_SKExtensions.m     2025-11-17 22:42:24 UTC (rev 
15808)
+++ trunk/NSValueTransformer_SKExtensions.m     2025-11-17 23:05:26 UTC (rev 
15809)
@@ -138,7 +138,7 @@
 - (id)reverseTransformedValue:(id)value {
     if ([value isKindOfClass:[NSColor class]] == NO)
         return nil;
-    return [NSKeyedArchiver archivedDataWithRootObject:value];
+    return [NSKeyedArchiver archivedDataWithRootObject:value 
requiringSecureCoding:YES error:NULL];
 }
 
 @end

Modified: trunk/PDFAnnotation_SKExtensions.m
===================================================================
--- trunk/PDFAnnotation_SKExtensions.m  2025-11-17 22:42:24 UTC (rev 15808)
+++ trunk/PDFAnnotation_SKExtensions.m  2025-11-17 23:05:26 UTC (rev 15809)
@@ -92,7 +92,7 @@
 - (instancetype)initWithPasteboardPropertyList:(id)propertyList 
ofType:(NSString *)type {
     if ([type isEqualToString:SKPasteboardTypeSkimNote] &&
         [propertyList isKindOfClass:[NSData class]]) {
-        self = [self initSkimNoteWithProperties:[NSKeyedUnarchiver 
unarchiveObjectWithData:propertyList]];
+        self = [self initSkimNoteWithProperties: [NSKeyedUnarchiver 
unarchivedObjectOfClasses:[NSSet setWithObjects:[NSDictionary class], [NSArray 
class], [NSString class], [NSNumber class], [NSData class], [NSDate class], 
[NSColor class], [NSFont class], [NSAttributedString class], [NSImage class], 
nil] fromData:propertyList error:NULL]];
     } else {
         self = [self init];
         self = nil;
@@ -106,7 +106,7 @@
 
 - (id)pasteboardPropertyListForType:(NSString *)type {
     if ([type isEqualToString:SKPasteboardTypeSkimNote])
-        return [NSKeyedArchiver archivedDataWithRootObject:[self 
SkimNoteProperties]];
+        return [NSKeyedArchiver archivedDataWithRootObject:[self 
SkimNoteProperties] requiringSecureCoding:YES error:NULL];
     return nil;
 }
 

Modified: trunk/SKFontWell.m
===================================================================
--- trunk/SKFontWell.m  2025-11-17 22:42:24 UTC (rev 15808)
+++ trunk/SKFontWell.m  2025-11-17 23:05:26 UTC (rev 15809)
@@ -285,7 +285,7 @@
         }];
         
         NSDictionary *dict = @{SKNSFontCollectionFontDescriptors: @[[[self 
font] fontDescriptor]], NSFontSizeAttribute: [NSNumber numberWithDouble:[[self 
font] pointSize]]};
-        NSData *data = [NSKeyedArchiver archivedDataWithRootObject:dict];
+        NSData *data = [NSKeyedArchiver archivedDataWithRootObject:dict 
requiringSecureCoding:YES error:NULL];
         NSPasteboardItem *item = [[NSPasteboardItem alloc] init];
         [item setData:data 
forType:CFBridgingRelease(UTTypeCreatePreferredIdentifierForTag(kUTTagClassNSPboardType,
 (__bridge CFStringRef)SKNSFontPanelDescriptorsPboardType, kUTTypeData))];
         
@@ -335,7 +335,7 @@
     @try {
         if ([type isEqualToString:SKNSFontPanelDescriptorsPboardType]) {
             NSData *data = [pboard dataForType:type];
-            NSDictionary *dict = [data isKindOfClass:[NSData class]] ? 
[NSKeyedUnarchiver unarchiveObjectWithData:data] : nil;
+            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:SKNSFontCollectionFontDescriptors];
                 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.



_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to