Skip to content

Commit 580ac65

Browse files
committed
fixed:sometime load configure memory leak
1 parent 96dbbb4 commit 580ac65

File tree

1 file changed

+3
-12
lines changed

1 file changed

+3
-12
lines changed

XEngine_Source/MQCore_ConfigModule/Config_Json/Config_Json.cpp

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,21 +43,12 @@ bool CConfig_Json::Config_Json_File(LPCXSTR lpszConfigFile,XENGINE_SERVERCONFIG
4343
Config_dwErrorCode = ERROR_MQ_MODULE_CONFIG_JSON_PARAMENT;
4444
return false;
4545
}
46-
int nCount = 0;
47-
XCHAR tszMsgBuffer[4096];
48-
while (1)
49-
{
50-
int nRet = fread(tszMsgBuffer + nCount, 1, 2048, pSt_File);
51-
if (nRet <= 0)
52-
{
53-
break;
54-
}
55-
nCount += nRet;
56-
}
46+
XCHAR tszMsgBuffer[4096] = {};
47+
size_t nSize = fread(tszMsgBuffer, 1, sizeof(tszMsgBuffer), pSt_File);
5748
fclose(pSt_File);
5849

5950
std::unique_ptr<Json::CharReader> const pSt_JsonReader(st_JsonBuilder.newCharReader());
60-
if (!pSt_JsonReader->parse(tszMsgBuffer, tszMsgBuffer + nCount, &st_JsonRoot, &st_JsonError))
51+
if (!pSt_JsonReader->parse(tszMsgBuffer, tszMsgBuffer + nSize, &st_JsonRoot, &st_JsonError))
6152
{
6253
Config_IsErrorOccur = true;
6354
Config_dwErrorCode = ERROR_MQ_MODULE_CONFIG_JSON_PARSE;

0 commit comments

Comments
 (0)