aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/misc/trace.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/misc/trace.c')
-rw-r--r--src/backend/utils/misc/trace.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/backend/utils/misc/trace.c b/src/backend/utils/misc/trace.c
index 1f96065c9ef..871e1d436a0 100644
--- a/src/backend/utils/misc/trace.c
+++ b/src/backend/utils/misc/trace.c
@@ -257,9 +257,13 @@ set_option_flag(int flag, int value)
/*
* Parse an option string like "name,name+,name-,name=value".
* Single options are delimited by ',',space,tab,newline or cr.
+ *
+ * If 'secure' is false, the option string came from a remote client via
+ * connection "debug options" field --- do not obey any requests that
+ * might potentially be security loopholes.
*/
void
-parse_options(char *str)
+parse_options(char *str, bool secure)
{
char *s,
*name;
@@ -384,7 +388,7 @@ read_pg_options(SIGNAL_ARGS)
p--;
*p = '\0';
verbose = pg_options[TRACE_VERBOSE];
- parse_options(buffer);
+ parse_options(buffer, true);
verbose |= pg_options[TRACE_VERBOSE];
if (verbose || postgres_signal_arg == SIGHUP)
tprintf(TRACE_ALL, "read_pg_options: %s", buffer);