From 03bcccdee0315926677fe03bce6f1faf92b814d4 Mon Sep 17 00:00:00 2001 From: Onur Tirtir Date: Mon, 30 Nov 2020 20:00:35 +0300 Subject: [PATCH] Fix hostname length check in StartNodeUserDatabaseConnection (#4363) Copying string before hostname length check makes the check useless --- src/backend/distributed/connection/connection_management.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/distributed/connection/connection_management.c b/src/backend/distributed/connection/connection_management.c index fffcfb93d..dcc4a701f 100644 --- a/src/backend/distributed/connection/connection_management.c +++ b/src/backend/distributed/connection/connection_management.c @@ -257,7 +257,6 @@ StartNodeUserDatabaseConnection(uint32 flags, const char *hostname, int32 port, bool found; /* do some minimal input checks */ - strlcpy(key.hostname, hostname, MAX_NODE_LENGTH); if (strlen(hostname) > MAX_NODE_LENGTH) { ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), @@ -265,6 +264,8 @@ StartNodeUserDatabaseConnection(uint32 flags, const char *hostname, int32 port, MAX_NODE_LENGTH))); } + strlcpy(key.hostname, hostname, MAX_NODE_LENGTH); + key.port = port; if (user) {