Revision: 27237
          http://sourceforge.net/p/bibdesk/svn/27237
Author:   hofman
Date:     2022-01-17 15:48:15 +0000 (Mon, 17 Jan 2022)
Log Message:
-----------
More checks for correct field specifiers

Modified Paths:
--------------
    trunk/bibdesk/BibItem+Scripting.m

Modified: trunk/bibdesk/BibItem+Scripting.m
===================================================================
--- trunk/bibdesk/BibItem+Scripting.m   2022-01-17 15:31:56 UTC (rev 27236)
+++ trunk/bibdesk/BibItem+Scripting.m   2022-01-17 15:48:15 UTC (rev 27237)
@@ -617,7 +617,12 @@
             return nil;
         }
         field = [[(NSNameSpecifier *)keySpec name] fieldName];
-    } else if ([keyClass isEqualToString:@"linked file"]) {
+        if ([field isLocalFileField] == NO) {
+            [command setScriptErrorNumber:NSArgumentsWrongScriptError];
+            [command setScriptErrorString:@"Field must be a local file 
field."];
+            return nil;
+        }
+   } else if ([keyClass isEqualToString:@"linked file"]) {
         field = BDSKLocalFileString;
         // NSPropertySpecifier, NSIndexSpecifier, NSRangeSpecifier, 
NSMiddleSpecifier, NSWhoseSpecifier
         NSInteger i, count = -2;
@@ -733,6 +738,11 @@
         else
             field = BDSKRemoteURLString;
     } else if ([keyClass isEqualToString:@"field"]) {
+        if ([keySpec isKindOfClass:[NSNameSpecifier class]] == NO) {
+            [command setScriptErrorNumber:NSArgumentsWrongScriptError];
+            [command setScriptErrorString:@"Invalid field specifier."];
+            return nil;
+        }
         field = [[(NSNameSpecifier *)keySpec name] fieldName];
         if ([field isRemoteURLField] == NO) {
             [command setScriptErrorNumber:NSArgumentsWrongScriptError];

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

Reply via email to