及时释放NameListToString内分配的内存

This commit is contained in:
lilong
2023-01-29 10:42:23 +08:00
parent 31cec9afc3
commit 5e89b830ea

View File

@ -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) {