r629を巻き戻し。サイズチェック時はエラーをスキップできないので。

NN_UTIL_RETURN_IF_FAILEDをCOMMON_LOGGER_RETURN_IF_FAILEDに置換
CmacAdderが出力先ディレクトリ初期化時にエラーで止まっていたので修正

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@631 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
N2614 2012-02-14 02:54:42 +00:00
parent 4111408dcb
commit 7320c776ea
13 changed files with 286 additions and 282 deletions

View File

@ -234,10 +234,8 @@ nn::Result NandSavedataChecker::CleanUp(bool erase)
{ {
nn::Result result; nn::Result result;
result = m_pSharedExtSaveChecker->CalculateFileSize(); m_pSharedExtSaveChecker->CalculateFileSize();
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result); m_pSysSaveChecker->CalculateFileSize();
result = m_pSysSaveChecker->CalculateFileSize();
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = m_pSharedExtSaveChecker->CleanUp(erase); result = m_pSharedExtSaveChecker->CleanUp(erase);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);

View File

@ -418,7 +418,7 @@ nn::Result ImportCountryLanguageData()
SetLanguage(reinterpret_cast<common::CfgCountryLanguage*> (buf)->language); SetLanguage(reinterpret_cast<common::CfgCountryLanguage*> (buf)->language);
} }
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
} }
} }
else else
@ -539,7 +539,7 @@ nn::Result ImportMcuRtc(common::HardwareStateManager& manager)
} }
} }
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
} }
else else
{ {
@ -678,7 +678,7 @@ nn::Result ImportIvs()
{ {
result = nn::fs::CTR::ImportIntegrityVerificationSeed( result = nn::fs::CTR::ImportIntegrityVerificationSeed(
*reinterpret_cast<nn::fs::CTR::IntegrityVerificationSeed*>(dec)); *reinterpret_cast<nn::fs::CTR::IntegrityVerificationSeed*>(dec));
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
COMMON_LOGGER("Import SDCI.\n"); COMMON_LOGGER("Import SDCI.\n");
} }
else else
@ -703,7 +703,7 @@ nn::Result ImportIvs()
} }
nn::fs::Unmount(common::NAND_ARCHIVE_NAME); nn::fs::Unmount(common::NAND_ARCHIVE_NAME);
} }
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
} }
else else
{ {
@ -1725,7 +1725,7 @@ nn::Result InitializeHardwareDependentSetting()
common::CfgCalData cfgCalData; common::CfgCalData cfgCalData;
result = ImportCalData(&cfgCalData); result = ImportCalData(&cfgCalData);
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_TOUCHPANEL), result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_TOUCHPANEL),
&cfgCalData.touchPanelCfgData, sizeof(TouchPanelCfgData)); &cfgCalData.touchPanelCfgData, sizeof(TouchPanelCfgData));
@ -1778,11 +1778,11 @@ nn::Result SetupVersionAndFileList()
// ファイル一覧を読み込む // ファイル一覧を読み込む
nn::Result result = ReadFileList(&s_SdFileSize, &s_FileLists); nn::Result result = ReadFileList(&s_SdFileSize, &s_FileLists);
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
// バージョンデータを読み込む // バージョンデータを読み込む
result = ReadVersionData(); result = ReadVersionData();
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
return result; return result;
} }
@ -1801,7 +1801,7 @@ nn::Result ReadFileList(SdFileSize* sdFiles, common::ImportDataList* fileList)
// サイズ取得のため一時的に開く // サイズ取得のため一時的に開く
result = file.TryInitialize(common::FILE_LIST_PATHNAME); result = file.TryInitialize(common::FILE_LIST_PATHNAME);
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = file.TryGetSize(&fileSize); result = file.TryGetSize(&fileSize);
if (result.IsFailure()) if (result.IsFailure())

View File

@ -39,14 +39,14 @@ PreinstallImporter::~PreinstallImporter()
nn::Result PreinstallImporter::SetupSd(bool* isAlreadyAvailable) nn::Result PreinstallImporter::SetupSd(bool* isAlreadyAvailable)
{ {
// SDカードがインポート可能状態かどうかチェック // SDカードがインポート可能状態かどうかチェック
NN_UTIL_RETURN_IF_FAILED( COMMON_LOGGER_RETURN_RESULT_IF_FAILED(
nn::am::QueryAvailableExternalTitleDatabase(isAlreadyAvailable) nn::am::QueryAvailableExternalTitleDatabase(isAlreadyAvailable)
); );
// タイトルデータベースを作成する // タイトルデータベースを作成する
if (!*isAlreadyAvailable) if (!*isAlreadyAvailable)
{ {
NN_UTIL_RETURN_IF_FAILED( COMMON_LOGGER_RETURN_RESULT_IF_FAILED(
nn::am::InitializeExternalTitleDatabase() nn::am::InitializeExternalTitleDatabase()
); );
} }
@ -68,7 +68,7 @@ nn::Result PreinstallImporter::ListTitles(nn::ProgramId* list, size_t* num, bit6
} }
// 通信結果をパースしてタイトルリストを作成する // 通信結果をパースしてタイトルリストを作成する
NN_UTIL_RETURN_IF_FAILED( COMMON_LOGGER_RETURN_RESULT_IF_FAILED(
GetHtmlBodyAndParseXmlData(comm, list, num) GetHtmlBodyAndParseXmlData(comm, list, num)
); );
return nn::ResultSuccess(); return nn::ResultSuccess();
@ -78,7 +78,7 @@ nn::Result PreinstallImporter::ListTitlesBasedOnTickets(nn::ProgramId* list, siz
{ {
s32 personalizedTicketNum; s32 personalizedTicketNum;
nn::am::TicketInfo ticketInfo[256]; nn::am::TicketInfo ticketInfo[256];
NN_UTIL_RETURN_IF_FAILED( COMMON_LOGGER_RETURN_RESULT_IF_FAILED(
nn::am::GetPersonalizedTicketInfoList(&personalizedTicketNum, ticketInfo, 256) nn::am::GetPersonalizedTicketInfoList(&personalizedTicketNum, ticketInfo, 256)
); );
@ -121,7 +121,7 @@ nn::Result PreinstallImporter::GetHtmlBodyAndParseXmlData(BgsCommunicator& comm,
} }
// XMLを解析してタイトルリストを設定する // XMLを解析してタイトルリストを設定する
NN_UTIL_RETURN_IF_FAILED(ParseXmlData(buf, list, num)); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(ParseXmlData(buf, list, num));
return nn::ResultSuccess(); return nn::ResultSuccess();
} }
@ -140,7 +140,7 @@ nn::Result PreinstallImporter::ParseXmlData(void* buf, nn::ProgramId* list, size
nn::xml::simple::SimpleXmlParser simpleXmlParser(pAllocator); nn::xml::simple::SimpleXmlParser simpleXmlParser(pAllocator);
const nn::xml::simple::SimpleXmlParser::Node* pTaskIdNode; const nn::xml::simple::SimpleXmlParser::Node* pTaskIdNode;
NN_UTIL_RETURN_IF_FAILED( COMMON_LOGGER_RETURN_RESULT_IF_FAILED(
SetNodetoTitleIds(simpleXmlParser, xmlResult, &pTaskIdNode) SetNodetoTitleIds(simpleXmlParser, xmlResult, &pTaskIdNode)
); );

View File

@ -233,9 +233,9 @@ nn::Result ShopOperationConnect(ECAccountInfo** pAccountInfo)
-------------------------------------------------------------------- */ -------------------------------------------------------------------- */
COMMON_LOGGER_DETAIL("nim::Shop::Connect\n"); COMMON_LOGGER_DETAIL("nim::Shop::Connect\n");
result = nn::nim::Shop::Connect(pAccountInfo, s_EcBufffer, EC_BUFFER_SIZE); result = nn::nim::Shop::Connect(pAccountInfo, s_EcBufffer, EC_BUFFER_SIZE);
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = CheckStandbyMode((*pAccountInfo)->isStandbyMode); result = CheckStandbyMode((*pAccountInfo)->isStandbyMode);
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
PrintECAccountInfo(**pAccountInfo); PrintECAccountInfo(**pAccountInfo);
COMMON_LOGGER_DETAIL("\n"); COMMON_LOGGER_DETAIL("\n");
@ -254,7 +254,7 @@ nn::Result ShopOperationInitialize()
{ {
COMMON_LOGGER_DETAIL("nim::InitializeForShop\n"); COMMON_LOGGER_DETAIL("nim::InitializeForShop\n");
result = nn::nim::InitializeForShop(); result = nn::nim::InitializeForShop();
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
s_IsNimShopInitialized = true; s_IsNimShopInitialized = true;
} }
@ -264,11 +264,11 @@ nn::Result ShopOperationInitialize()
COMMON_LOGGER_DETAIL("nim::Shop::SetApplication Id\n"); COMMON_LOGGER_DETAIL("nim::Shop::SetApplication Id\n");
nn::nim::Shop::SetApplicationId(); nn::nim::Shop::SetApplicationId();
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
COMMON_LOGGER_DETAIL("nim::Shop::SetTIN\n"); COMMON_LOGGER_DETAIL("nim::Shop::SetTIN\n");
result = nn::nim::Shop::SetTin(CONSOLE_RESTORE_TIN); result = nn::nim::Shop::SetTin(CONSOLE_RESTORE_TIN);
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
return result; return result;
} }
@ -277,14 +277,14 @@ nn::Result ShopOperationConnect()
{ {
nn::Result result; nn::Result result;
result = ShopOperationInitialize(); result = ShopOperationInitialize();
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
/* ------------------------------------------------------------------- /* -------------------------------------------------------------------
Connect Connect
-------------------------------------------------------------------- */ -------------------------------------------------------------------- */
ECAccountInfo* pAccountInfo; ECAccountInfo* pAccountInfo;
result = ShopOperationConnect(&pAccountInfo); result = ShopOperationConnect(&pAccountInfo);
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
return result; return result;
} }
@ -298,7 +298,7 @@ nn::Result ShopOperationFinalize()
-------------------------------------------------------------------- */ -------------------------------------------------------------------- */
COMMON_LOGGER_DETAIL("nim::FinalizeForShop\n"); COMMON_LOGGER_DETAIL("nim::FinalizeForShop\n");
result = nn::nim::FinalizeForShop(); result = nn::nim::FinalizeForShop();
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
s_IsNimShopInitialized = false; s_IsNimShopInitialized = false;
return result; return result;

View File

@ -101,7 +101,7 @@ nn::Result GetEntry(ES_NAMESPACE::ESTitleId titleId, EC_NAMESPACE::ECTitleCatalo
nn::Result GetTitleConfig(const ES_NAMESPACE::ESTitleId titleId, nn::nim::TitleConfig *titleConfig, s64* requiredSize) nn::Result GetTitleConfig(const ES_NAMESPACE::ESTitleId titleId, nn::nim::TitleConfig *titleConfig, s64* requiredSize)
{ {
EC_NAMESPACE::ECTitleCatalogEntry *entry; EC_NAMESPACE::ECTitleCatalogEntry *entry;
NN_UTIL_RETURN_IF_FAILED(GetEntry(titleId, &entry)); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(GetEntry(titleId, &entry));
titleConfig->titleId =titleId; titleConfig->titleId =titleId;
titleConfig->version=std::strtoull(GetAttribute(entry->attributes, entry->nAttributes, "Version"), NULL, 10); titleConfig->version=std::strtoull(GetAttribute(entry->attributes, entry->nAttributes, "Version"), NULL, 10);
@ -307,7 +307,7 @@ nn::Result WaitCancelled()
while(true) while(true)
{ {
// キャンセルがResultとして返ってくる / ダウンロード終了まで待つ // キャンセルがResultとして返ってくる / ダウンロード終了まで待つ
NN_UTIL_RETURN_IF_FAILED(nn::nim::Shop::GetProgress(&progress)); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(nn::nim::Shop::GetProgress(&progress));
if(progress.lastResult==nn::nim::ResultCancelRequested() || progress.state==nn::nim::TITLE_STATE_FINISHED) if(progress.lastResult==nn::nim::ResultCancelRequested() || progress.state==nn::nim::TITLE_STATE_FINISHED)
{ {
break; break;

View File

@ -759,7 +759,7 @@ nn::Result CalculateFileSizeRecursively(std::wstring currentDirectory, s64& file
NN_LOG("%s\n", common::GetCharStr(currentDirectory.c_str())); NN_LOG("%s\n", common::GetCharStr(currentDirectory.c_str()));
result = dir.TryInitialize(currentDirectory.c_str()); result = dir.TryInitialize(currentDirectory.c_str());
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
for (;;) for (;;)
{ {
@ -786,7 +786,7 @@ nn::Result CalculateFileSizeRecursively(std::wstring currentDirectory, s64& file
if (entry.attributes.isDirectory) if (entry.attributes.isDirectory)
{ {
result = CalculateFileSizeRecursively(currentDirectory + std::wstring(entry.entryName) + std::wstring(L"/"), fileSize); result = CalculateFileSizeRecursively(currentDirectory + std::wstring(entry.entryName) + std::wstring(L"/"), fileSize);
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
} }
// ファイルの場合 // ファイルの場合
else else

View File

@ -457,7 +457,7 @@ nn::Result SaveDataMover::Import(void* buf, size_t bufSize, bit32 id, u64* progr
const int MAX_PATH_LEN = 127; const int MAX_PATH_LEN = 127;
char srcRoot[MAX_PATH_LEN + 1]; char srcRoot[MAX_PATH_LEN + 1];
NN_UTIL_RETURN_IF_FAILED(nn::fs::CreateNewSharedExtSaveDataRawStorage(id)); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(nn::fs::CreateNewSharedExtSaveDataRawStorage(id));
// 2. fs::CreateNewSharedExtSaveDataRawStorage を呼び // 2. fs::CreateNewSharedExtSaveDataRawStorage を呼び
// 書き込み用の領域を作成します。 // 書き込み用の領域を作成します。

View File

@ -98,7 +98,7 @@ nn::Result SdReaderWriter::WriteBuf(nn::fs::FileStream& file, const wchar_t* pat
nn::Result result; nn::Result result;
result = WriteBufCore(file, path, buf, size); result = WriteBufCore(file, path, buf, size);
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = file.TryFlush(); result = file.TryFlush();
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
@ -116,7 +116,7 @@ nn::Result SdReaderWriter::WriteBufWithCmac(const wchar_t* path, void* buf, size
nn::fs::FileStream file; nn::fs::FileStream file;
result = WriteBufCore(file, path, buf, size); result = WriteBufCore(file, path, buf, size);
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
bit8 sha256Hash[nn::crypto::Sha256Context::HASH_SIZE]; bit8 sha256Hash[nn::crypto::Sha256Context::HASH_SIZE];
nn::crypto::CalculateSha256(sha256Hash, buf, size); nn::crypto::CalculateSha256(sha256Hash, buf, size);
@ -173,7 +173,7 @@ nn::Result SdReaderWriter::ReadBuf(nn::fs::FileStream& file, const wchar_t* path
nn::Result result; nn::Result result;
result = ReadBufCore(file, path, buf, size, totalSize); result = ReadBufCore(file, path, buf, size, totalSize);
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
file.Finalize(); file.Finalize();
return result; return result;
@ -187,7 +187,7 @@ nn::Result SdReaderWriter::ReadBufWithCmac(const wchar_t* path, void* buf, size_
NN_ASSERT(size > nn::crypto::AES_CMAC_MAC_SIZE); NN_ASSERT(size > nn::crypto::AES_CMAC_MAC_SIZE);
result = ReadBufCore(file, path, buf, size, totalSize); result = ReadBufCore(file, path, buf, size, totalSize);
NN_UTIL_RETURN_IF_FAILED(result); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
file.Finalize(); file.Finalize();
// ハッシュが付加されていない // ハッシュが付加されていない

View File

@ -2,6 +2,7 @@
#include <nn/fs.h> #include <nn/fs.h>
#include <cstdlib> #include <cstdlib>
#include "configLoader.h" #include "configLoader.h"
#include "CommonLogger.h"
namespace common namespace common
{ {
@ -10,8 +11,8 @@ Result ConfigFileLoader::Initialize(const wchar_t* fileName, void* buffer, const
{ {
s64 fileSize; s64 fileSize;
FileInputStream fi; FileInputStream fi;
NN_UTIL_RETURN_IF_FAILED(fi.TryInitialize(fileName)); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(fi.TryInitialize(fileName));
NN_UTIL_RETURN_IF_FAILED(fi.TryGetSize(&fileSize)); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(fi.TryGetSize(&fileSize));
// NULL終端ぶん読めるサイズを減らす // NULL終端ぶん読めるサイズを減らす
if (fileSize > bufferSize - sizeof(wchar_t)) if (fileSize > bufferSize - sizeof(wchar_t))
@ -21,7 +22,7 @@ Result ConfigFileLoader::Initialize(const wchar_t* fileName, void* buffer, const
} }
m_Buffer = static_cast<wchar_t*>(buffer); m_Buffer = static_cast<wchar_t*>(buffer);
NN_UTIL_RETURN_IF_FAILED(fi.TryRead(&m_UsedBufferSize, m_Buffer, fileSize)); COMMON_LOGGER_RETURN_RESULT_IF_FAILED(fi.TryRead(&m_UsedBufferSize, m_Buffer, fileSize));
NN_LOG("config size = %d\n", m_UsedBufferSize); NN_LOG("config size = %d\n", m_UsedBufferSize);
return ParseData(); return ParseData();
} }

View File

@ -39,6 +39,7 @@ SOURCES[] =
../../common/configLoader.cpp ../../common/configLoader.cpp
../../common/VersionDetect.cpp ../../common/VersionDetect.cpp
include $(ROOT)/common/BuildSwitch.om
CTR_BANNER_SPEC = AutoBoot.bsf CTR_BANNER_SPEC = AutoBoot.bsf
ROMFS_ROOT = ../../common/romfiles ROMFS_ROOT = ../../common/romfiles
@ -56,7 +57,7 @@ LIBS += libnn_cfg \
INSTALL_SDK_TOOL = true INSTALL_SDK_TOOL = true
ROM_SPEC_FILE = $(TARGET_PROGRAM).rsf ROM_SPEC_FILE = $(TARGET_NAME).rsf
DESCRIPTOR = $(HORIZON_ROOT)/resources/specfiles/private/RepairTool.desc DESCRIPTOR = $(HORIZON_ROOT)/resources/specfiles/private/RepairTool.desc
include $(ROOT_OMAKE)/modulerules include $(ROOT_OMAKE)/modulerules

View File

@ -108,7 +108,11 @@ bool AddCmac(const wchar_t * from_path, void* buf, const size_t bufSize)
const wchar_t* CMAC_DIR = L"CmacAdded"; const wchar_t* CMAC_DIR = L"CmacAdded";
targetDirectory << from_path << CMAC_DIR; targetDirectory << from_path << CMAC_DIR;
result = nn::fs::TryDeleteDirectoryRecursively(targetDirectory.str().c_str()); result = nn::fs::TryDeleteDirectoryRecursively(targetDirectory.str().c_str());
if(!(result <= nn::fs::ResultNotFound()))
{
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(result); COMMON_LOGGER_RETURN_FALSE_IF_FAILED(result);
}
result = nn::fs::TryCreateDirectory(targetDirectory.str().c_str()); result = nn::fs::TryCreateDirectory(targetDirectory.str().c_str());
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(result); COMMON_LOGGER_RETURN_FALSE_IF_FAILED(result);