From e2ee77537d44addb23c2db74bacd93789e52b8d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=8F=8D=E7=8F=8D?= <17720517501@163.com> Date: Thu, 16 Dec 2021 14:02:56 +0000 Subject: [PATCH] =?UTF-8?q?update=20src/gausskernel/storage/replication/sl?= =?UTF-8?q?otfuncs.cpp.=20=E5=AE=9E=E7=8E=B0=E5=86=85=E5=AE=B9=EF=BC=9A?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=A0=E9=99=A4=E9=80=BB=E8=BE=91=E5=A4=8D?= =?UTF-8?q?=E5=88=B6=E6=A7=BD=E6=97=B6=E5=86=85=E5=AD=98=E6=B3=84=E6=BC=8F?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 主要逻辑:在对复制槽名称进行memcpy_s时,复制长度设置为复制槽名称的长度 --- src/gausskernel/storage/replication/slotfuncs.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gausskernel/storage/replication/slotfuncs.cpp b/src/gausskernel/storage/replication/slotfuncs.cpp index 254780461..7b5063bc3 100755 --- a/src/gausskernel/storage/replication/slotfuncs.cpp +++ b/src/gausskernel/storage/replication/slotfuncs.cpp @@ -117,7 +117,9 @@ void log_slot_drop(const char *name) XLogRecPtr Ptr; ReplicationSlotPersistentData xlrec; - int rc = memcpy_s(xlrec.name.data, NAMEDATALEN, name, NAMEDATALEN); + errno_t rc = memset_s(xlrec.name.data, NAMEDATALEN, 0, NAMEDATALEN); + securec_check(rc, "\0", "\0"); + rc = memcpy_s(xlrec.name.data, NAMEDATALEN, name, strlen(name)); securec_check(rc, "\0", "\0"); START_CRIT_SECTION(); XLogBeginInsert();