diff options
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/libpq/hba.c | 7 | ||||
-rw-r--r-- | src/backend/postmaster/pgstat.c | 2 | ||||
-rw-r--r-- | src/backend/regex/regerror.c | 2 | ||||
-rw-r--r-- | src/backend/replication/logical/logical.c | 4 | ||||
-rw-r--r-- | src/backend/replication/slot.c | 3 | ||||
-rw-r--r-- | src/backend/utils/adt/datetime.c | 2 | ||||
-rw-r--r-- | src/backend/utils/adt/name.c | 2 | ||||
-rw-r--r-- | src/backend/utils/adt/varlena.c | 2 | ||||
-rw-r--r-- | src/backend/utils/error/elog.c | 2 |
9 files changed, 13 insertions, 13 deletions
diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c index f75c4b88be8..9cde6a21ce9 100644 --- a/src/backend/libpq/hba.c +++ b/src/backend/libpq/hba.c @@ -1996,6 +1996,8 @@ check_ident_usermap(IdentLine *identLine, const char *usermap_name, if ((ofs = strstr(identLine->pg_role, "\\1")) != NULL) { + int offset; + /* substitution of the first argument requested */ if (matches[1].rm_so < 0) { @@ -2012,8 +2014,9 @@ check_ident_usermap(IdentLine *identLine, const char *usermap_name, * plus null terminator */ regexp_pgrole = palloc0(strlen(identLine->pg_role) - 2 + (matches[1].rm_eo - matches[1].rm_so) + 1); - strncpy(regexp_pgrole, identLine->pg_role, (ofs - identLine->pg_role)); - memcpy(regexp_pgrole + strlen(regexp_pgrole), + offset = ofs - identLine->pg_role; + memcpy(regexp_pgrole, identLine->pg_role, offset); + memcpy(regexp_pgrole + offset, ident_user + matches[1].rm_so, matches[1].rm_eo - matches[1].rm_so); strcat(regexp_pgrole, ofs + 2); diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c index 827ad713b58..268bcd58fd8 100644 --- a/src/backend/postmaster/pgstat.c +++ b/src/backend/postmaster/pgstat.c @@ -3095,7 +3095,7 @@ pgstat_send_archiver(const char *xlog, bool failed) */ pgstat_setheader(&msg.m_hdr, PGSTAT_MTYPE_ARCHIVER); msg.m_failed = failed; - strncpy(msg.m_xlog, xlog, sizeof(msg.m_xlog)); + StrNCpy(msg.m_xlog, xlog, sizeof(msg.m_xlog)); msg.m_timestamp = GetCurrentTimestamp(); pgstat_send(&msg, sizeof(msg)); } diff --git a/src/backend/regex/regerror.c b/src/backend/regex/regerror.c index f863ee7344f..f2fe696425c 100644 --- a/src/backend/regex/regerror.c +++ b/src/backend/regex/regerror.c @@ -111,7 +111,7 @@ pg_regerror(int errcode, /* error code, or REG_ATOI or REG_ITOA */ strcpy(errbuf, msg); else { /* truncate to fit */ - strncpy(errbuf, msg, errbuf_size - 1); + memcpy(errbuf, msg, errbuf_size - 1); errbuf[errbuf_size - 1] = '\0'; } } diff --git a/src/backend/replication/logical/logical.c b/src/backend/replication/logical/logical.c index 939831b5576..30baa45383a 100644 --- a/src/backend/replication/logical/logical.c +++ b/src/backend/replication/logical/logical.c @@ -244,9 +244,7 @@ CreateInitDecodingContext(char *plugin, /* register output plugin name with slot */ SpinLockAcquire(&slot->mutex); - strncpy(NameStr(slot->data.plugin), plugin, - NAMEDATALEN); - NameStr(slot->data.plugin)[NAMEDATALEN - 1] = '\0'; + StrNCpy(NameStr(slot->data.plugin), plugin, NAMEDATALEN); SpinLockRelease(&slot->mutex); /* diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c index 5f64e494c5d..dd7ff0f99a2 100644 --- a/src/backend/replication/slot.c +++ b/src/backend/replication/slot.c @@ -266,8 +266,7 @@ ReplicationSlotCreate(const char *name, bool db_specific, slot->data.persistency = persistency; slot->data.xmin = InvalidTransactionId; slot->effective_xmin = InvalidTransactionId; - strncpy(NameStr(slot->data.name), name, NAMEDATALEN); - NameStr(slot->data.name)[NAMEDATALEN - 1] = '\0'; + StrNCpy(NameStr(slot->data.name), name, NAMEDATALEN); slot->data.database = db_specific ? MyDatabaseId : InvalidOid; slot->data.restart_lsn = InvalidXLogRecPtr; diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c index 3b0402e3cfb..2a44b6e5037 100644 --- a/src/backend/utils/adt/datetime.c +++ b/src/backend/utils/adt/datetime.c @@ -4052,7 +4052,7 @@ EncodeDateTime(struct pg_tm * tm, fsec_t fsec, bool print_tz, int tz, const char day = date2j(tm->tm_year, tm->tm_mon, tm->tm_mday); tm->tm_wday = j2day(day); - strncpy(str, days[tm->tm_wday], 3); + memcpy(str, days[tm->tm_wday], 3); strcpy(str + 3, " "); if (DateOrder == DATEORDER_DMY) diff --git a/src/backend/utils/adt/name.c b/src/backend/utils/adt/name.c index fa13a9a5897..b6c6e393358 100644 --- a/src/backend/utils/adt/name.c +++ b/src/backend/utils/adt/name.c @@ -192,7 +192,7 @@ namecpy(Name n1, Name n2) { if (!n1 || !n2) return -1; - strncpy(NameStr(*n1), NameStr(*n2), NAMEDATALEN); + StrNCpy(NameStr(*n1), NameStr(*n2), NAMEDATALEN); return 0; } diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c index cfa192193b4..f48ce4901ca 100644 --- a/src/backend/utils/adt/varlena.c +++ b/src/backend/utils/adt/varlena.c @@ -2936,7 +2936,7 @@ SplitIdentifierString(char *rawstring, char separator, len = endp - curname; downname = downcase_truncate_identifier(curname, len, false); Assert(strlen(downname) <= len); - strncpy(curname, downname, len); + strncpy(curname, downname, len); /* strncpy is required here */ pfree(downname); } diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index bee2c92301e..310c5bbffa0 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -2240,7 +2240,7 @@ setup_formatted_log_time(void) /* 'paste' milliseconds into place... */ sprintf(msbuf, ".%03d", (int) (tv.tv_usec / 1000)); - strncpy(formatted_log_time + 19, msbuf, 4); + memcpy(formatted_log_time + 19, msbuf, 4); } /* |