mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
レビュー反映
wchar_t*にはNULL文字ではなくNULLポインタを代入する ファイル読み取りバッファをNULL終端するように git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@103 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
17cca5847f
commit
a424dee1b1
@ -14,7 +14,7 @@ Result ConfigFileLoader::Initialize(const wchar_t* fileName, void* buffer, const
|
||||
NN_UTIL_RETURN_IF_FAILED(fi.TryGetSize(&fileSize));
|
||||
|
||||
// NULL終端ぶん読めるサイズを減らす
|
||||
if (fileSize > bufferSize - 2)
|
||||
if (fileSize > bufferSize - sizeof(wchar_t))
|
||||
{
|
||||
NN_TLOG_("Too Large File\n");
|
||||
return Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_COMMON, nn::Result::DESCRIPTION_TOO_LARGE);
|
||||
@ -22,7 +22,7 @@ Result ConfigFileLoader::Initialize(const wchar_t* fileName, void* buffer, const
|
||||
|
||||
m_Buffer = static_cast<wchar_t*>(buffer);
|
||||
NN_UTIL_RETURN_IF_FAILED(fi.TryRead(&m_UsedBufferSize, m_Buffer, fileSize));
|
||||
|
||||
NN_LOG("config size = %d\n", m_UsedBufferSize);
|
||||
return ParseData();
|
||||
}
|
||||
|
||||
@ -52,7 +52,8 @@ Result ConfigFileLoader::ParseData()
|
||||
|
||||
m_ParamNum = 0;
|
||||
m_ParamName[m_ParamNum] = &(m_Buffer[pos]);
|
||||
m_ParamValue[m_ParamNum] = L'\0';
|
||||
m_ParamValue[m_ParamNum] = L"";
|
||||
m_Buffer[m_UsedBufferSize / sizeof(wchar_t)] = L'\0'; // NULL終端しておく
|
||||
|
||||
// ダブルクウォート中なら : も文字として読み取る
|
||||
bool inEscape = false;
|
||||
@ -112,7 +113,7 @@ Result ConfigFileLoader::ParseData()
|
||||
|
||||
m_Buffer[pos] = L'\0';
|
||||
m_ParamName[m_ParamNum] = &(m_Buffer[pos + 1]);
|
||||
m_ParamValue[m_ParamNum] = L'\0';
|
||||
m_ParamValue[m_ParamNum] = L"";
|
||||
}
|
||||
break;
|
||||
|
||||
@ -155,14 +156,14 @@ const wchar_t *ConfigFileLoader::ReadAsWChar(const wchar_t *paramName)
|
||||
{
|
||||
NN_LOG("Unknown Parameter Name %ls\n", paramName);
|
||||
}
|
||||
return (idx < 0) ? L'\0' : m_ParamValue[idx];
|
||||
return (idx < 0) ? NULL : m_ParamValue[idx];
|
||||
}
|
||||
|
||||
const char *ConfigFileLoader::ReadAsChar(const wchar_t *paramName)
|
||||
{
|
||||
memset(m_ReadCharBuffer, 0, sizeof(m_ReadCharBuffer));
|
||||
const wchar_t *value = ReadAsWChar(paramName);
|
||||
if(value == L'\0')
|
||||
if(value == NULL)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user