mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-02-03 06:51:57 +01:00
psql segfaults when passing an argument option with a missing argument patch sent from Quentin Rameau <quinq@fifth.space> fixes it
35 lines
1.0 KiB
Diff
35 lines
1.0 KiB
Diff
From 9644da5c3ffcf0fb18eca54a61aedb5f53a1c352 Mon Sep 17 00:00:00 2001
|
|
From: Quentin Rameau <quinq@fifth.space>
|
|
Date: Sun, 25 Aug 2019 11:29:45 +0200
|
|
Subject: [PATCH] Fix missing argument handling in psql getopt
|
|
|
|
When passing an argument option with a missing argument, strcmp would
|
|
be called with the argv terminating NULL.
|
|
---
|
|
src/bin/psql/startup.c | 5 +++--
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c
|
|
index 4730c73396..cffbfc864e 100644
|
|
--- a/src/bin/psql/startup.c
|
|
+++ b/src/bin/psql/startup.c
|
|
@@ -667,12 +667,13 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts *options)
|
|
break;
|
|
case '?':
|
|
/* Actual help option given */
|
|
- if (strcmp(argv[optind - 1], "-?") == 0)
|
|
+ if (optind <= argc &&
|
|
+ strcmp(argv[optind - 1], "-?") == 0)
|
|
{
|
|
usage(NOPAGER);
|
|
exit(EXIT_SUCCESS);
|
|
}
|
|
- /* unknown option reported by getopt */
|
|
+ /* unknown option or missing argument */
|
|
else
|
|
goto unknown_option;
|
|
break;
|
|
--
|
|
2.23.0
|
|
|