public inbox for [email protected]
help / color / mirror / Atom feedFrom: Quentin Rameau <[email protected]>
Subject: [PATCH] Fix handling of ? option
Date: Sun, 25 Aug 2019 20:45:29 +0200
Using optind to check back the original given option this way is bogus
and could lead to dereferencing argv out of bounds with a missing
argument to an option.
The proper way to verify if an error has occured is to check if optopt
has been set.
---
src/bin/psql/startup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c
index 4730c73396..e5f6894177 100644
--- a/src/bin/psql/startup.c
+++ b/src/bin/psql/startup.c
@@ -667,7 +667,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts *options)
break;
case '?':
/* Actual help option given */
- if (strcmp(argv[optind - 1], "-?") == 0)
+ if (!optopt)
{
usage(NOPAGER);
exit(EXIT_SUCCESS);
--
2.23.0
--MP_/_eGHSN7B9ucS1dXH.MiKkUY--
view thread (23+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected]
Subject: Re: [PATCH] Fix handling of ? option
In-Reply-To: <no-message-id-1882138@localhost>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox