From 5e89b830ea7a437d627990530598d19f10216dd3 Mon Sep 17 00:00:00 2001 From: lilong Date: Sun, 29 Jan 2023 10:42:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=8A=E6=97=B6=E9=87=8A=E6=94=BENameListToS?= =?UTF-8?q?tring=E5=86=85=E5=88=86=E9=85=8D=E7=9A=84=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/backend/catalog/gs_package.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/common/backend/catalog/gs_package.cpp b/src/common/backend/catalog/gs_package.cpp index 5c7797fef..46cf35dd5 100644 --- a/src/common/backend/catalog/gs_package.cpp +++ b/src/common/backend/catalog/gs_package.cpp @@ -1748,15 +1748,18 @@ bool isSameArgList(CreateFunctionStmt* stmt1, CreateFunctionStmt* stmt2) if (inArgNum1 != inArgNum2) { return false; } else if (inArgNum1 == inArgNum2 && length1 != length2) { - char message[MAXSTRLEN]; - errno_t rc = sprintf_s(message, MAXSTRLEN, "can not override out param:%s", NameListToString(stmt1->funcname)); + char message[MAXSTRLEN], funcname[MAXSTRLEN]; + char *p = NameListToString(stmt1->funcname); + errno_t rc = strcpy_s(funcname, MAXSTRLEN, p); + securec_check(rc, "\0", "\0"); + pfree(p); + rc = sprintf_s(message, MAXSTRLEN, "can not override out param:%s", funcname); securec_check_ss(rc, "", ""); InsertErrorMessage(message, stmt1->startLineNumber); ereport(ERROR, (errcode(ERRCODE_UNDEFINED_FUNCTION), errmodule(MOD_PLSQL), - errmsg("can not override out param:%s", - NameListToString(stmt1->funcname)))); + errmsg("can not override out param:%s", funcname))); } } else { if (length1 != length2) {