From c522319050c7d1425a46c048a8e0abee2b80a63e Mon Sep 17 00:00:00 2001 From: stivn <9699603+stivn@user.noreply.gitee.com> Date: Tue, 4 Jan 2022 02:38:07 +0000 Subject: [PATCH 01/11] update aw/cxx/distributed/distributed_major.cpp. Signed-off-by: stivn --- aw/cxx/distributed/distributed_major.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aw/cxx/distributed/distributed_major.cpp b/aw/cxx/distributed/distributed_major.cpp index 87a243e..9f57bcb 100644 --- a/aw/cxx/distributed/distributed_major.cpp +++ b/aw/cxx/distributed/distributed_major.cpp @@ -251,7 +251,7 @@ bool DistributeTestEnvironment::RunTestCmd(size_t devNo, const std::string &strC bool breturn = false; size_t lenptr = 0; errno_t ret = EOK; - (void)memset_s(szbuf, MAX_BUFF_LEN, 0, MAX_BUFF_LEN); + memset_s(szbuf, sizeof(szbuf), 0, MAX_BUFF_LEN); // add 2 '\0' size_t rlen = cmdLen + expectValueLen + DST_COMMAND_HEAD_LEN + sizeof(int)*HALF_BUF_LEN + HALF_BUF_LEN; -- Gitee From 64f787020e620725198d3a110c8bf18b9e7db80d Mon Sep 17 00:00:00 2001 From: stivn <9699603+stivn@user.noreply.gitee.com> Date: Tue, 4 Jan 2022 02:48:48 +0000 Subject: [PATCH 02/11] update aw/cxx/distributed/distributed_agent.cpp. Signed-off-by: stivn --- aw/cxx/distributed/distributed_agent.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/aw/cxx/distributed/distributed_agent.cpp b/aw/cxx/distributed/distributed_agent.cpp index a8d5a5e..83700d5 100644 --- a/aw/cxx/distributed/distributed_agent.cpp +++ b/aw/cxx/distributed/distributed_agent.cpp @@ -147,7 +147,7 @@ int DistributedAgent::DoCmdServer(int serverSockFd) HiLog::Info(DistributedAgent::LABEL, "accept testcase runner IP:%s port:%d \n", inet_ntoa(clientAddr.sin_addr), clientAddr.sin_port); while (mbStop_ != true) { - memset_s(buff, MAX_BUFF_LEN, 0, MAX_BUFF_LEN); + memset_s(buff, sizeof(buff), 0, MAX_BUFF_LEN); // every cmd length less than MAX_BUFF_LEN bytes; int cmdLen = recv(clientSockFd_, buff, DST_COMMAND_HEAD_LEN, 0); if (static_cast(cmdLen) < DST_COMMAND_HEAD_LEN) { @@ -190,7 +190,7 @@ int DistributedAgent::DoCmdServer(int serverSockFd) } pszEValue[eValueLen] = '\0'; int nresult = OnProcessCmd(pAlignmentCmd, cmdLen, pszEValue, eValueLen); - (void)memset_s(returnValue, MAX_BUFF_LEN, 0, MAX_BUFF_LEN); + memset_s(returnValue, sizeof(returnValue), 0, MAX_BUFF_LEN); auto pclinereturn = reinterpret_cast(returnValue); pclinereturn->no = pcline->no; pclinereturn->cmdTestType = htons(DST_COMMAND_CALL); @@ -206,7 +206,7 @@ int DistributedAgent::DoCmdServer(int serverSockFd) } case DST_COMMAND_MSG: { int nresult = 0; - (void)memset_s(returnValue, MAX_BUFF_LEN, 0, MAX_BUFF_LEN); + memset_s(returnValue, sizeof(returnValue), 0, MAX_BUFF_LEN); auto pclinereturn = reinterpret_cast(returnValue); pclinereturn->no = pcline->no; pclinereturn->cmdTestType = htons(DST_COMMAND_MSG); @@ -246,7 +246,7 @@ void DistributedAgent::OnNotifyImf(DistributedMsg *pcline) char alignmentCmd[DistributedAgent::CMD_LENGTH]; char szMsg[MAX_BUFF_LEN / DistributedAgent::HALF_NUM - DistributedAgent::CMD_LENGTH]; int cmdNo = 0; - (void)memset_s(alignmentCmd, DistributedAgent::CMD_LENGTH, 0, DistributedAgent::CMD_LENGTH); + memset_s(alignmentCmd, sizeof(alignmentCmd), 0, DistributedAgent::CMD_LENGTH); (void)memset_s(szMsg, MAX_BUFF_LEN / DistributedAgent::HALF_NUM - DistributedAgent::CMD_LENGTH, 0, MAX_BUFF_LEN / DistributedAgent::HALF_NUM - DistributedAgent::CMD_LENGTH); @@ -259,7 +259,7 @@ void DistributedAgent::OnNotifyImf(DistributedMsg *pcline) HiLog::Error(DistributedAgent::LABEL, "error command.\n"); } else { errno_t ret = EOK; - ret = memcpy_s(alignmentCmd, DistributedAgent::CMD_LENGTH, pcline->alignmentCmd, cmdNo); + ret = memcpy_s(alignmentCmd, sizeof(alignmentCmd), pcline->alignmentCmd, cmdNo); if (ret != EOK) { return; } @@ -311,7 +311,7 @@ int DistributedAgent::OnProcessCmd(const std::string &strCommand, int cmdLen, char szArgs[MAX_BUFF_LEN / DistributedAgent::HALF_NUM - DistributedAgent::CMD_LENGTH]; int cmdNo = 0; - (void)memset_s(alignmentCmd, DistributedAgent::CMD_LENGTH, 0, DistributedAgent::CMD_LENGTH); + memset_s(alignmentCmd, sizeof(alignmentCmd), 0, DistributedAgent::CMD_LENGTH); (void)memset_s(szArgs, MAX_BUFF_LEN / DistributedAgent::HALF_NUM - DistributedAgent::CMD_LENGTH, 0, MAX_BUFF_LEN / DistributedAgent::HALF_NUM - DistributedAgent::CMD_LENGTH); @@ -327,7 +327,7 @@ int DistributedAgent::OnProcessCmd(const std::string &strCommand, int cmdLen, } errno_t ret = EOK; - ret = memcpy_s(alignmentCmd, DistributedAgent::CMD_LENGTH, strCommand.c_str(), cmdNo); + ret = memcpy_s(alignmentCmd, sizeof(alignmentCmd), strCommand.c_str(), cmdNo); if (ret != EOK) { return -1; } -- Gitee From ae5ce60c3ac174ea19c83d021498cb4f0295bce1 Mon Sep 17 00:00:00 2001 From: stivn <9699603+stivn@user.noreply.gitee.com> Date: Tue, 4 Jan 2022 03:50:24 +0000 Subject: [PATCH 03/11] update examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp. Signed-off-by: stivn --- .../common/distribute_demo_agent.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp b/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp index 95dab2b..894bfe1 100644 --- a/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp +++ b/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp @@ -186,8 +186,18 @@ int DistributeDemoAgent::AddTwoValue(const std::string &strArgs, int argsLen, co int val1 = 0; int val2 = 0; int val3 = 0; - sscanf_s(strArgs.c_str(), "%d %d", &val1, &val2); - sscanf_s(strExpectValue.c_str(), "%d", &val3); + int ret1; + int ret2; + ret1 = sscanf_s(strArgs.c_str(), "%d %d", &val1, &val2); + if (ret1 != 2) { + HiLog::Error(LABEL, "sscanf_s failed. ret1 != 2"); + return -1; + } + ret2 = sscanf_s(strExpectValue.c_str(), "%d", &val3); + if (ret2 != 1) { + HiLog::Error(LABEL, "sscanf_s failed. ret2 != 1"); + return -1; + } EXPECT_TRUE(val3 == (val1 + val2)); return val1 + val2; } -- Gitee From a611d704bc3d280b582f1a5407a084355b27cfdb Mon Sep 17 00:00:00 2001 From: stivn <9699603+stivn@user.noreply.gitee.com> Date: Tue, 4 Jan 2022 03:54:45 +0000 Subject: [PATCH 04/11] update examples/calculator/src/calculator.cpp. Signed-off-by: stivn --- examples/calculator/src/calculator.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/calculator/src/calculator.cpp b/examples/calculator/src/calculator.cpp index 9b504d6..e71a031 100644 --- a/examples/calculator/src/calculator.cpp +++ b/examples/calculator/src/calculator.cpp @@ -33,7 +33,10 @@ int Sub(int e1, int e2) int Mul(int e1, int e2) { int result = e1 * e2; - if (!e1 || (result / e1) != e2) { + if (e1 == 0) { + return 0; + } + if ((result / e1) != e2) { result = -1; } return result; -- Gitee From 5b9d003c71ebd91fe42077f8fb1942cc82f25f0c Mon Sep 17 00:00:00 2001 From: stivn <9699603+stivn@user.noreply.gitee.com> Date: Tue, 4 Jan 2022 06:48:22 +0000 Subject: [PATCH 05/11] update aw/cxx/distributed/distributed_agent.cpp. Signed-off-by: stivn --- aw/cxx/distributed/distributed_agent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aw/cxx/distributed/distributed_agent.cpp b/aw/cxx/distributed/distributed_agent.cpp index 83700d5..7232b80 100644 --- a/aw/cxx/distributed/distributed_agent.cpp +++ b/aw/cxx/distributed/distributed_agent.cpp @@ -282,7 +282,7 @@ void DistributedAgent::OnNotifyImf(DistributedMsg *pcline) * returnbuflen: max length of strReturnValue * return : real length of strReturnValue filled */ -int DistributedAgent::OnProcessMsg(const std::string &strMsg, int len, +int DistributedAgent::OnProcessMsg(const std::string &strMsg, int msgLen, std::string &strReturnValue, int returnBufLen) { // default test code -- Gitee From a1357844089c2376b9d4fbd95e3ac700b378dfd8 Mon Sep 17 00:00:00 2001 From: stivn <9699603+stivn@user.noreply.gitee.com> Date: Tue, 4 Jan 2022 06:56:58 +0000 Subject: [PATCH 06/11] update examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp. Signed-off-by: stivn --- .../distributedtest/common/distribute_demo_agent.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp b/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp index 894bfe1..edd4309 100644 --- a/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp +++ b/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp @@ -104,27 +104,27 @@ bool DistributeDemoAgent::TearDown() // The entry of handlingthe major test case message int DistributeDemoAgent::OnProcessMsg(const std::string &strMsg, int len, - std::string &strReturnValue, int returnValueLen) + std::string &strReturnValue, int returnBufLen) { int nret = 0; std::string returnStr = "agent return message."; if ((len > CMD_LEN) && (strMsg.find("\0\1\0\1") == 1)) { - for (int i = 0; i < returnValueLen; i++) { + for (int i = 0; i < returnBufLen; i++) { strReturnValue += std::to_string((i + 1) % RETURN_HALF); } - nret = returnValueLen; + nret = returnBufLen; } else { HiLog::Info(LABEL, "receive message=%s.", strMsg.c_str()); if (strncmp(strMsg.c_str(), "recall", MSG_CALL_LEN) == 0) { returnStr = "I get recall message."; int ptrlen = returnStr.size(); - if (ptrlen > returnValueLen) { - ptrlen = returnValueLen - 1; + if (ptrlen > returnBufLen) { + ptrlen = returnBufLen - 1; } strReturnValue = returnStr; nret = ptrlen; } else { - nret = DistributedAgent::OnProcessMsg(strMsg, len, strReturnValue, returnValueLen); + nret = DistributedAgent::OnProcessMsg(strMsg, len, strReturnValue, returnBufLen); } } return nret; -- Gitee From c808bcb00821c6a042f16280028132ed603807c3 Mon Sep 17 00:00:00 2001 From: stivn <9699603+stivn@user.noreply.gitee.com> Date: Tue, 4 Jan 2022 07:12:19 +0000 Subject: [PATCH 07/11] update aw/cxx/distributed/distributed_major.cpp. Signed-off-by: stivn --- aw/cxx/distributed/distributed_major.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/aw/cxx/distributed/distributed_major.cpp b/aw/cxx/distributed/distributed_major.cpp index 9f57bcb..343876f 100644 --- a/aw/cxx/distributed/distributed_major.cpp +++ b/aw/cxx/distributed/distributed_major.cpp @@ -48,9 +48,9 @@ DistributeTestEnvironment::DistributeTestEnvironment() : serverPort_(DEFAULT_AGE { } -DistributeTestEnvironment::DistributeTestEnvironment(std::string cfgInfo) : serverPort_(DEFAULT_AGENT_PORT) +DistributeTestEnvironment::DistributeTestEnvironment(std::string cfgFile) : serverPort_(DEFAULT_AGENT_PORT) { - Init(cfgInfo); + Init(cfgFile); } void DistributeTestEnvironment::Init(std::string fileName) @@ -439,13 +439,13 @@ int DistributeTest::GetReturnVal() * param : * devNo: the serial number of agent device. * msg : message of the testcase sent to the agent - * msgLen: length of strMsg + * len: length of strMsg * return : if false is return, send operation failed. */ -bool DistributeTest::SendMessage(AGENT_NO devNo, const std::string &msg, int msgLen) +bool DistributeTest::SendMessage(AGENT_NO devNo, const std::string &msg, int len) { if (g_pDistributetestEnv != nullptr) { - return g_pDistributetestEnv->SendMessage(devNo, msg, msgLen, + return g_pDistributetestEnv->SendMessage(devNo, msg, len, [&](const std::string &szreturnbuf, int rlen)->bool { HiLog::Info(LABEL, "onprocessmsg len :%d.", rlen); return OnMsgProc(szreturnbuf, rlen); @@ -460,23 +460,23 @@ bool DistributeTest::SendMessage(AGENT_NO devNo, const std::string &msg, int msg * param : * devNo: the serial number of agent device. * msg : message of the testcase sent to the agent - * msgLen: length of message + * len: length of message * onProcessReturnMsg: callback function that handles the agent device return message and real * length of return value * return : if false is return, send operation failed. */ -bool DistributeTest::SendMessage(AGENT_NO devNo, const std::string &msg, int msgLen, +bool DistributeTest::SendMessage(AGENT_NO devNo, const std::string &msg, int len, std::function onProcessReturnMsg) { if (g_pDistributetestEnv != nullptr) { - return g_pDistributetestEnv->SendMessage(devNo, msg, msgLen, onProcessReturnMsg); + return g_pDistributetestEnv->SendMessage(devNo, msg, len, onProcessReturnMsg); } return false; } -bool DistributeTest::OnMsgProc(const std::string &strBuf, int len) +bool DistributeTest::OnMsgProc(const std::string &szbuf, int len) { - return (strBuf == "") ? false : true; + return (szbuf == "") ? false : true; } /* -- Gitee From b0a8db5e4b3fbcb88cf81ec577efd08eaf81ff29 Mon Sep 17 00:00:00 2001 From: stivn <9699603+stivn@user.noreply.gitee.com> Date: Tue, 4 Jan 2022 07:39:48 +0000 Subject: [PATCH 08/11] update aw/cxx/distributed/distributed_major.cpp. Signed-off-by: stivn --- aw/cxx/distributed/distributed_major.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/aw/cxx/distributed/distributed_major.cpp b/aw/cxx/distributed/distributed_major.cpp index 343876f..1638b82 100644 --- a/aw/cxx/distributed/distributed_major.cpp +++ b/aw/cxx/distributed/distributed_major.cpp @@ -251,8 +251,10 @@ bool DistributeTestEnvironment::RunTestCmd(size_t devNo, const std::string &strC bool breturn = false; size_t lenptr = 0; errno_t ret = EOK; - memset_s(szbuf, sizeof(szbuf), 0, MAX_BUFF_LEN); - + ret = memset_s(szbuf, sizeof(szbuf), 0, MAX_BUFF_LEN); + if (ret != EOK) { + return breturn; + } // add 2 '\0' size_t rlen = cmdLen + expectValueLen + DST_COMMAND_HEAD_LEN + sizeof(int)*HALF_BUF_LEN + HALF_BUF_LEN; if (rlen <= MAX_BUFF_LEN) { -- Gitee From c326310538868be8b76dac3ed52c0812a26353c5 Mon Sep 17 00:00:00 2001 From: stivn <9699603+stivn@user.noreply.gitee.com> Date: Tue, 4 Jan 2022 07:50:16 +0000 Subject: [PATCH 09/11] update aw/cxx/distributed/distributed_agent.cpp. Signed-off-by: stivn --- aw/cxx/distributed/distributed_agent.cpp | 30 +++++++++++++++++++----- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/aw/cxx/distributed/distributed_agent.cpp b/aw/cxx/distributed/distributed_agent.cpp index 7232b80..400847e 100644 --- a/aw/cxx/distributed/distributed_agent.cpp +++ b/aw/cxx/distributed/distributed_agent.cpp @@ -147,7 +147,11 @@ int DistributedAgent::DoCmdServer(int serverSockFd) HiLog::Info(DistributedAgent::LABEL, "accept testcase runner IP:%s port:%d \n", inet_ntoa(clientAddr.sin_addr), clientAddr.sin_port); while (mbStop_ != true) { - memset_s(buff, sizeof(buff), 0, MAX_BUFF_LEN); + errno_t ret = EOK; + ret = memset_s(buff, sizeof(buff), 0, MAX_BUFF_LEN); + if (ret != EOK) { + return -1; + } // every cmd length less than MAX_BUFF_LEN bytes; int cmdLen = recv(clientSockFd_, buff, DST_COMMAND_HEAD_LEN, 0); if (static_cast(cmdLen) < DST_COMMAND_HEAD_LEN) { @@ -190,7 +194,10 @@ int DistributedAgent::DoCmdServer(int serverSockFd) } pszEValue[eValueLen] = '\0'; int nresult = OnProcessCmd(pAlignmentCmd, cmdLen, pszEValue, eValueLen); - memset_s(returnValue, sizeof(returnValue), 0, MAX_BUFF_LEN); + ret = memset_s(returnValue, sizeof(returnValue), 0, MAX_BUFF_LEN); + if (ret != EOK) { + return -1; + } auto pclinereturn = reinterpret_cast(returnValue); pclinereturn->no = pcline->no; pclinereturn->cmdTestType = htons(DST_COMMAND_CALL); @@ -205,8 +212,12 @@ int DistributedAgent::DoCmdServer(int serverSockFd) break; } case DST_COMMAND_MSG: { + errno_t ret = EOK; int nresult = 0; - memset_s(returnValue, sizeof(returnValue), 0, MAX_BUFF_LEN); + ret = memset_s(returnValue, sizeof(returnValue), 0, MAX_BUFF_LEN); + if (ret != EOK) { + return -1; + } auto pclinereturn = reinterpret_cast(returnValue); pclinereturn->no = pcline->no; pclinereturn->cmdTestType = htons(DST_COMMAND_MSG); @@ -246,7 +257,11 @@ void DistributedAgent::OnNotifyImf(DistributedMsg *pcline) char alignmentCmd[DistributedAgent::CMD_LENGTH]; char szMsg[MAX_BUFF_LEN / DistributedAgent::HALF_NUM - DistributedAgent::CMD_LENGTH]; int cmdNo = 0; - memset_s(alignmentCmd, sizeof(alignmentCmd), 0, DistributedAgent::CMD_LENGTH); + errno_t ret = EOK; + ret = memset_s(alignmentCmd, sizeof(alignmentCmd), 0, DistributedAgent::CMD_LENGTH); + if (ret != EOK) { + return; + } (void)memset_s(szMsg, MAX_BUFF_LEN / DistributedAgent::HALF_NUM - DistributedAgent::CMD_LENGTH, 0, MAX_BUFF_LEN / DistributedAgent::HALF_NUM - DistributedAgent::CMD_LENGTH); @@ -310,8 +325,11 @@ int DistributedAgent::OnProcessCmd(const std::string &strCommand, int cmdLen, char alignmentCmd[DistributedAgent::CMD_LENGTH]; char szArgs[MAX_BUFF_LEN / DistributedAgent::HALF_NUM - DistributedAgent::CMD_LENGTH]; int cmdNo = 0; - - memset_s(alignmentCmd, sizeof(alignmentCmd), 0, DistributedAgent::CMD_LENGTH); + errno_t ret = EOK; + ret = memset_s(alignmentCmd, sizeof(alignmentCmd), 0, DistributedAgent::CMD_LENGTH); + if (ret != EOK) { + return -1; + } (void)memset_s(szArgs, MAX_BUFF_LEN / DistributedAgent::HALF_NUM - DistributedAgent::CMD_LENGTH, 0, MAX_BUFF_LEN / DistributedAgent::HALF_NUM - DistributedAgent::CMD_LENGTH); -- Gitee From 47d9867fae883406a5c49da3b579fbdc58dccf97 Mon Sep 17 00:00:00 2001 From: stivn <9699603+stivn@user.noreply.gitee.com> Date: Tue, 4 Jan 2022 08:08:30 +0000 Subject: [PATCH 10/11] update examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp. Signed-off-by: stivn --- .../test/distributedtest/common/distribute_demo_agent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp b/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp index edd4309..da965db 100644 --- a/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp +++ b/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp @@ -189,7 +189,7 @@ int DistributeDemoAgent::AddTwoValue(const std::string &strArgs, int argsLen, co int ret1; int ret2; ret1 = sscanf_s(strArgs.c_str(), "%d %d", &val1, &val2); - if (ret1 != 2) { + if (ret1 < 2) { HiLog::Error(LABEL, "sscanf_s failed. ret1 != 2"); return -1; } -- Gitee From e235b347f7e6751866fa349348809693f7971670 Mon Sep 17 00:00:00 2001 From: stivn <9699603+stivn@user.noreply.gitee.com> Date: Tue, 4 Jan 2022 08:13:45 +0000 Subject: [PATCH 11/11] update examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp. Signed-off-by: stivn --- .../test/distributedtest/common/distribute_demo_agent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp b/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp index da965db..478c6f8 100644 --- a/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp +++ b/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp @@ -189,7 +189,7 @@ int DistributeDemoAgent::AddTwoValue(const std::string &strArgs, int argsLen, co int ret1; int ret2; ret1 = sscanf_s(strArgs.c_str(), "%d %d", &val1, &val2); - if (ret1 < 2) { + if (ret1 <=0 || ret1 == 1) { HiLog::Error(LABEL, "sscanf_s failed. ret1 != 2"); return -1; } -- Gitee