!271 安全函数整改

Merge pull request !271 from liang/master
This commit is contained in:
opengauss-bot
2020-09-28 21:50:10 +08:00
committed by Gitee
4 changed files with 22 additions and 13 deletions

View File

@ -1127,8 +1127,9 @@ static void describeDumpableObject(DumpableObject* obj, char* buf, int bufsize)
securec_check_ss_c(nRet, "\0", "\0");
return;
case DO_REFRESH_MATVIEW:
nRet = snprintf(
buf, bufsize, "REFRESH MATERIALIZED VIEW %s (ID %d OID %u)", obj->name, obj->dumpId, obj->catId.oid);
nRet = snprintf_s(
buf, bufsize, bufsize - 1, "REFRESH MATERIALIZED VIEW %s (ID %d OID %u)",
obj->name, obj->dumpId, obj->catId.oid);
securec_check_ss_c(nRet, "\0", "\0");
return;
case DO_RULE:

View File

@ -937,9 +937,11 @@ static char **PsqlCompletion(const char *text, int start, int end)
COMPLETE_WITH_LIST(listAlterAgg);
} else {
char *tmpBuf = (char *)malloc(strlen(Query_for_list_of_arguments) + strlen(PREV2_WD));
size_t tmpLength = strlen(Query_for_list_of_arguments) + strlen(PREV2_WD);
char *tmpBuf = (char *)pg_malloc(tmpLength);
sprintf(tmpBuf, Query_for_list_of_arguments, PREV2_WD);
int rc = sprintf_s(tmpBuf, tmpLength, Query_for_list_of_arguments, PREV2_WD);
securec_check_c(rc, "", "");
COMPLETE_WITH_QUERY(tmpBuf);
free(tmpBuf);
}
@ -1971,9 +1973,11 @@ static char **PsqlCompletion(const char *text, int start, int end)
} else if (pg_strcasecmp(PREV4_WD, "DROP") == 0 &&
(pg_strcasecmp(PREV3_WD, "AGGREGATE") == 0 || pg_strcasecmp(PREV3_WD, "FUNCTION") == 0) &&
pg_strcasecmp(PREV_WD, "(") == 0) {
char *tmpBuf = (char *)malloc(strlen(Query_for_list_of_arguments) + strlen(PREV2_WD));
size_t tmpLength = strlen(Query_for_list_of_arguments) + strlen(PREV2_WD);
char *tmpBuf = (char *)pg_malloc(tmpLength);
sprintf(tmpBuf, Query_for_list_of_arguments, PREV2_WD);
int rc = sprintf_s(tmpBuf, tmpLength, Query_for_list_of_arguments, PREV2_WD);
securec_check_c(rc,"","");
COMPLETE_WITH_QUERY(tmpBuf);
free(tmpBuf);
}

View File

@ -990,9 +990,9 @@ Datum record_eq(PG_FUNCTION_ARGS)
if (my_extra->record1_type != tupType1 || my_extra->record1_typmod != tupTypmod1 ||
my_extra->record2_type != tupType2 || my_extra->record2_typmod != tupTypmod2) {
errno_t rc = EOK;
rc = memset_s(my_extra->columns, ncols * sizeof(ColumnCompareData), 0, ncols * sizeof(ColumnCompareData));
securec_check(rc, "\0", "\0");
errno_t rc = memset_s(my_extra->columns, ncols * sizeof(ColumnCompareData), 0,
ncols * sizeof(ColumnCompareData));
securec_check(rc, "", "");
my_extra->record1_type = tupType1;
my_extra->record1_typmod = tupTypmod1;
my_extra->record2_type = tupType2;
@ -1226,7 +1226,9 @@ static int record_image_cmp(PG_FUNCTION_ARGS)
if (my_extra->record1_type != tupType1 || my_extra->record1_typmod != tupTypmod1 ||
my_extra->record2_type != tupType2 || my_extra->record2_typmod != tupTypmod2) {
MemSet(my_extra->columns, 0, ncols * sizeof(ColumnCompareData));
errno_t rc = memset_s(my_extra->columns, ncols * sizeof(ColumnCompareData), 0,
ncols * sizeof(ColumnCompareData));
securec_check(rc, "", "");
my_extra->record1_type = tupType1;
my_extra->record1_typmod = tupTypmod1;
my_extra->record2_type = tupType2;
@ -1429,7 +1431,9 @@ Datum record_image_eq(PG_FUNCTION_ARGS)
if (my_extra->record1_type != tupType1 || my_extra->record1_typmod != tupTypmod1 ||
my_extra->record2_type != tupType2 || my_extra->record2_typmod != tupTypmod2) {
MemSet(my_extra->columns, 0, ncols * sizeof(ColumnCompareData));
errno_t rc = memset_s(my_extra->columns, ncols * sizeof(ColumnCompareData), 0,
ncols * sizeof(ColumnCompareData));
securec_check(rc, "", "");
my_extra->record1_type = tupType1;
my_extra->record1_typmod = tupTypmod1;
my_extra->record2_type = tupType2;
@ -1593,7 +1597,7 @@ void record_set_extra(RecordIOData **my_extra, int ncolumns, Oid tupType, int32
errno_t rc = memset_s((*my_extra),
sizeof(RecordIOData) - sizeof(ColumnIOData) + ncolumns * sizeof(ColumnIOData), 0,
sizeof(RecordIOData) - sizeof(ColumnIOData) + ncolumns * sizeof(ColumnIOData));
securec_check(rc, "\0", "\0");
securec_check(rc, "", "");
(*my_extra)->record_type = tupType;
(*my_extra)->record_typmod = tupTypmod;
(*my_extra)->ncolumns = ncolumns;

View File

@ -13829,7 +13829,7 @@ static bool read_tablespace_map(List** tablespaces)
while ((ch = fgetc(lfp)) != EOF) {
if ((ch == '\n' || ch == '\r') && prevCh != '\\') {
str[i] = '\0';
if (sscanf(str, "%s %n", tbsoid, &n) != 1)
if (sscanf_s(str, "%s %n", tbsoid, MAXPGPATH, &n) != 1)
ereport(FATAL,
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("invalid data in file \"%s\"", TABLESPACE_MAP)));