Fails if more device arguments are present for isLuks.
authorMilan Broz <gmazyland@gmail.com>
Sat, 27 Jul 2013 10:33:22 +0000 (12:33 +0200)
committerMilan Broz <gmazyland@gmail.com>
Sat, 27 Jul 2013 10:43:48 +0000 (12:43 +0200)
Fixes
http://code.google.com/p/cryptsetup/issues/detail?id=165

src/cryptsetup.c

index 4722abd..5c2b96a 100644 (file)
@@ -1010,6 +1010,12 @@ static int action_isLuks(void)
        struct crypt_device *cd = NULL;
        int r;
 
+       /* FIXME: argc > max should be checked for other operations as well */
+       if (action_argc > 1) {
+               log_err(_("Only one device argument for isLuks operation is supported.\n"));
+               return -ENODEV;
+       }
+
        if ((r = crypt_init(&cd, action_argv[0])))
                goto out;
 
@@ -1500,7 +1506,7 @@ int main(int argc, const char **argv)
                usage(popt_context, EXIT_FAILURE, _("Unknown action."),
                      poptGetInvocationName(popt_context));
 
-       if(action_argc < action->required_action_argc)
+       if (action_argc < action->required_action_argc)
                help_args(action, popt_context);
 
        /* FIXME: rewrite this from scratch */