Author: thebeing
Date: Wed Nov 18 12:07:08 2015
New Revision: 39174

URL: http://svn.gna.org/viewcvs/gnustep?rev=39174&view=rev
Log:
Fix argument validation when writing/reading defaults

Modified:
    libs/ec/trunk/ChangeLog
    libs/ec/trunk/EcProcess.m

Modified: libs/ec/trunk/ChangeLog
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/ec/trunk/ChangeLog?rev=39174&r1=39173&r2=39174&view=diff
==============================================================================
--- libs/ec/trunk/ChangeLog     (original)
+++ libs/ec/trunk/ChangeLog     Wed Nov 18 12:07:08 2015
@@ -1,3 +1,7 @@
+2015-11-18     Niels Grewe <[email protected]>
+
+       * EcProcess.m: Fix argument validation when reading/writing defaults.
+
 2015-10-28     Niels Grewe <[email protected]>
 
        * EcConsole.m: Use readpassphrase() instead of getpass() if available.

Modified: libs/ec/trunk/EcProcess.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/ec/trunk/EcProcess.m?rev=39174&r1=39173&r2=39174&view=diff
==============================================================================
--- libs/ec/trunk/EcProcess.m   (original)
+++ libs/ec/trunk/EcProcess.m   Wed Nov 18 12:07:08 2015
@@ -3046,15 +3046,27 @@
               val = [cmdDefs objectForKey: key];
             }
           else if ([msg count] > 2
-            && [mode caseInsensitiveCompare: @"set"] == NSOrderedSame)
-           {
+            && (([mode caseInsensitiveCompare: @"set"] == NSOrderedSame)
+               ||  [mode caseInsensitiveCompare: @"write"] == NSOrderedSame)
+                )
+           {
+              if ([msg count] < 4)
+                {
+                  [self cmdPrintf: @"Missing argument (please provide a value 
to write).\n"];
+                  return;
+                }
              val = [msg objectAtIndex: 3];
               [cmdDefs setCommand: val forKey: key];
               val = [cmdDefs objectForKey: key];
            }
+          else if ([mode caseInsensitiveCompare: @"read"] == NSOrderedSame)
+            {
+              val = [cmdDefs objectForKey: key];
+            }
           else
             {
-              val = [cmdDefs objectForKey: key];
+              [self cmdPrintf: @"Invalid subcommand: '%@'\n", mode];
+              return;
             }
           if (val == old || [val isEqual: old])
             {


_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to