aboutgitcodebugslistschat
path: root/conf.c
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2022-09-02 16:49:23 +0200
committerStefano Brivio <sbrivio@redhat.com>2022-09-02 17:07:45 +0200
commitbac7dfebe47b997de8876a8380ee0a1bbf97ab1f (patch)
treeaa340937439ed80d5226e29d90a6aeeb83329147 /conf.c
parenta1c38ffe0a148da665074f049acf4197b3d9349c (diff)
downloadpasst-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>
Diffstat (limited to 'conf.c')
-rw-r--r--conf.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/conf.c b/conf.c
index e6d1c62..2edb4ae 100644
--- a/conf.c
+++ b/conf.c
@@ -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);