Browse Source

nsenter: stop option parsing on 1st non-option

"nsenter ls -l" gives: invalid option -- 'l'

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Denys Vlasenko 3 years ago
parent
commit
ef2366cdca
2 changed files with 3 additions and 2 deletions
  1. 1 1
      findutils/find.c
  2. 2 1
      util-linux/nsenter.c

+ 1 - 1
findutils/find.c

@@ -1522,7 +1522,7 @@ int find_main(int argc UNUSED_PARAM, char **argv)
 	}
 	*past_HLP = NULL;
 	/* "+": stop on first non-option */
-	i = getopt32(argv, "+HLP");
+	i = getopt32(argv, "+""HLP");
 	if (i & (1<<0))
 		G.recurse_flags |= ACTION_FOLLOWLINKS_L0 | ACTION_DANGLING_OK;
 	if (i & (1<<1))

+ 2 - 1
util-linux/nsenter.c

@@ -103,8 +103,9 @@ static const struct namespace_descr ns_list[] = {
 };
 /*
  * Upstream nsenter doesn't support the short option for --preserve-credentials
+ * "+": stop on first non-option
  */
-static const char opt_str[] ALIGN1 = "U::i::u::n::p::m::""t:+S:+G:+r::w::F";
+static const char opt_str[] ALIGN1 = "+""U::i::u::n::p::m::""t:+S:+G:+r::w::F";
 
 #if ENABLE_LONG_OPTS
 static const char nsenter_longopts[] ALIGN1 =