]> git.proxmox.com Git - mirror_lxc.git/commitdiff
fix up lxc-usernsexec's exit status
authorTycho Andersen <tycho@tycho.ws>
Mon, 8 Jan 2018 16:20:24 +0000 (16:20 +0000)
committerTycho Andersen <tycho@tycho.ws>
Mon, 8 Jan 2018 16:20:24 +0000 (16:20 +0000)
* exit(1) when there is an option parsing error
* exit(0) when the user explicitly asks for help
* exit(1) when the user specifies an invalid option

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
src/lxc/tools/lxc_usernsexec.c

index 72d4a005b8901cae5e83563983125c6acc493fb6..766bd72e6ba21e8bc5446f00e27e9b696ee7fcff 100644 (file)
@@ -71,7 +71,6 @@ static void usage(const char *name)
        printf("  Note: This program uses newuidmap(2) and newgidmap(2).\n");
        printf("        As such, /etc/subuid and /etc/subgid must grant the\n");
        printf("        calling user permission to use the mapped ranges\n");
-       exit(EXIT_SUCCESS);
 }
 
 static void opentty(const char * tty, int which) {
@@ -300,10 +299,18 @@ int main(int argc, char *argv[])
 
        while ((c = getopt(argc, argv, "m:h")) != EOF) {
                switch (c) {
-                       case 'm': if (parse_map(optarg)) usage(argv[0]); break;
+                       case 'm':
+                               if (parse_map(optarg)) {
+                                       usage(argv[0]);
+                                       exit(EXIT_FAILURE);
+                               }
+                               break;
                        case 'h':
+                                 usage(argv[0]);
+                                 exit(EXIT_SUCCESS);
                        default:
                                  usage(argv[0]);
+                                 exit(EXIT_FAILURE);
                }
        };