diff options
author | Stefano Brivio <sbrivio@redhat.com> | 2022-09-02 16:49:23 +0200 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2022-09-02 17:07:45 +0200 |
commit | bac7dfebe47b997de8876a8380ee0a1bbf97ab1f (patch) | |
tree | aa340937439ed80d5226e29d90a6aeeb83329147 | |
parent | a1c38ffe0a148da665074f049acf4197b3d9349c (diff) | |
download | passt-bac7dfebe47b997de8876a8380ee0a1bbf97ab1f.tar passt-bac7dfebe47b997de8876a8380ee0a1bbf97ab1f.tar.gz passt-bac7dfebe47b997de8876a8380ee0a1bbf97ab1f.tar.bz2 passt-bac7dfebe47b997de8876a8380ee0a1bbf97ab1f.tar.lz passt-bac7dfebe47b997de8876a8380ee0a1bbf97ab1f.tar.xz passt-bac7dfebe47b997de8876a8380ee0a1bbf97ab1f.tar.zst passt-bac7dfebe47b997de8876a8380ee0a1bbf97ab1f.zip |
conf: Fix getopt_long() optstring for current semantics of -D, -S, -p
Declaring them as required_argument in the longopts array specifies
validation, but doesn't affect how optind is increased after parsing
their values.
Currently, passing one of these options as last option causes pasta
to handle their own values as path to a binary to execute.
Fixes: aae2a9bbf7d1 ("conf: Use "-D none" and "-S none" instead of missing empty option arguments")
Fixes: bf95322fc1ef ("conf: Make the argument to --pcap option mandatory")
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
-rw-r--r-- | conf.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1094,9 +1094,9 @@ void conf(struct ctx *c, int argc, char **argv) const char *optstring; if (c->mode == MODE_PASST) - optstring = "dqfehs:p::P:m:a:n:M:g:i:D::S::46t:u:"; + optstring = "dqfehs:p:P:m:a:n:M:g:i:D:S:46t:u:"; else - optstring = "dqfehI:p::P:m:a:n:M:g:i:D::S::46t:u:T:U:"; + optstring = "dqfehI:p:P:m:a:n:M:g:i:D:S:46t:u:T:U:"; name = getopt_long(argc, argv, optstring, options, NULL); |