From 5b7a2a3b01031aa0f485a87473fa58d90ea5e54c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=AE=E5=82=A8-=E7=8E=8B=E5=BB=BA=E8=BE=BE?= Date: Fri, 11 Apr 2025 11:42:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dcm=5Fctl=E4=B8=8D=E8=83=BDswi?= =?UTF-8?q?tchover=E7=BA=A7=E8=81=94=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cm_agent/client_adpts/libpq/cma_datanode_utils.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/cm_agent/client_adpts/libpq/cma_datanode_utils.cpp b/src/cm_agent/client_adpts/libpq/cma_datanode_utils.cpp index 25f2a2d..4c8f642 100644 --- a/src/cm_agent/client_adpts/libpq/cma_datanode_utils.cpp +++ b/src/cm_agent/client_adpts/libpq/cma_datanode_utils.cpp @@ -626,8 +626,8 @@ static void GetLpInfoByStr(char *channel, DnLocalPeer *lpInfo, uint32 instId) { char localIpStr[CM_IP_LENGTH]; char peerIpStr[CM_IP_LENGTH]; - char *peerStr = NULL; - char *localStr = strtok_r(channel, "<--", &peerStr); + char *remain = NULL; + char *localStr = strtok_r(channel, "<--", &remain); errno_t rc; if (localStr == NULL) { write_runlog(ERROR, "[GetLpInfoByStr] line: %d, instance ID is %u, channel is %s.\n", @@ -644,6 +644,7 @@ static void GetLpInfoByStr(char *channel, DnLocalPeer *lpInfo, uint32 instId) return; } + char *peerStr = strtok_r(remain, "<--", &remain); // Parse peer IP and port if (ParseIpAndPort(peerStr, peerIpStr, &lpInfo->peerPort) == 0) { rc = strcpy_s(lpInfo->peerIp, CM_IP_LENGTH, peerIpStr); -- Gitee