diff --git a/aw/cxx/distributed/distributed_agent.cpp b/aw/cxx/distributed/distributed_agent.cpp index a8d5a5e38f80ddc568018331e582a06a1e651fd4..77be4b57c84c9ae328d165dcea39f7b0359e0623 100644 --- a/aw/cxx/distributed/distributed_agent.cpp +++ b/aw/cxx/distributed/distributed_agent.cpp @@ -147,7 +147,10 @@ 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); + 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 +193,10 @@ 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); + 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); @@ -206,7 +212,10 @@ int DistributedAgent::DoCmdServer(int serverSockFd) } case DST_COMMAND_MSG: { int nresult = 0; - (void)memset_s(returnValue, MAX_BUFF_LEN, 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 +255,10 @@ 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); + 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); @@ -259,7 +271,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 +323,10 @@ 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); + 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); @@ -327,7 +342,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; } diff --git a/aw/cxx/distributed/distributed_major.cpp b/aw/cxx/distributed/distributed_major.cpp index 87a243e9c16dbdfc1baba632d892b07d7ed51a4a..5747861cc33620ff2572d29ca75b38de5fefb6eb 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; - (void)memset_s(szbuf, MAX_BUFF_LEN, 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) { diff --git a/examples/calculator/src/calculator.cpp b/examples/calculator/src/calculator.cpp index 9b504d69bae9bb8e4aae2a9989089e473f4c8d5c..d4447604658e3c9a8ccacfc5e0bc61ace95985e3 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 -1; + } + if ((result / e1) != e2) { result = -1; } return result; diff --git a/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp b/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp index 95dab2bc559b84e81ae266e7a1548826e1161287..b58239eed41e18bb8aaad743cde2eec0101a7be0 100644 --- a/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp +++ b/examples/distributedb/test/distributedtest/common/distribute_demo_agent.cpp @@ -186,8 +186,16 @@ 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); + ret1 = sscanf_s(strArgs.c_str(), "%d %d", &val1, &val2); + if (ret1 == -1) { + HiLog::Error(LABEL, "sccanf_s failed. ret1 == -1."); + return 0; + } + ret2 = sscanf_s(strExpectValue.c_str(), "%d", &val3); + if (ret2 == -1) { + HiLog::Error(LABEL, "sccanf_s failed. ret2 == -1."); + return 0; + } EXPECT_TRUE(val3 == (val1 + val2)); return val1 + val2; }