summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Lioncash2018-10-02 23:10:24 -0400
committerGravatar Lioncash2018-10-02 23:16:05 -0400
commitcf463a9b6734f19ca88c3b9d279b8fb8e8d9ab01 (patch)
treefd914897b31899442183b7d648f65dbdcb9b3ab4 /src
parentMerge pull request #1330 from raven02/tlds (diff)
downloadyuzu-cf463a9b6734f19ca88c3b9d279b8fb8e8d9ab01.tar.gz
yuzu-cf463a9b6734f19ca88c3b9d279b8fb8e8d9ab01.tar.xz
yuzu-cf463a9b6734f19ca88c3b9d279b8fb8e8d9ab01.zip
card_image: Ensure program_nca_status is always initialized
If any of the error paths before the NCA retrieval are taken, it'll result in program_nca_status being left in an inconsistent state. So we initialize it by default with a value indicating an error.
Diffstat (limited to 'src')
-rw-r--r--src/core/file_sys/card_image.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/file_sys/card_image.cpp b/src/core/file_sys/card_image.cpp
index edfc1bbd4..8f5142a07 100644
--- a/src/core/file_sys/card_image.cpp
+++ b/src/core/file_sys/card_image.cpp
@@ -20,7 +20,9 @@ namespace FileSys {
20 20
21constexpr std::array<const char*, 0x4> partition_names = {"update", "normal", "secure", "logo"}; 21constexpr std::array<const char*, 0x4> partition_names = {"update", "normal", "secure", "logo"};
22 22
23XCI::XCI(VirtualFile file_) : file(std::move(file_)), partitions(0x4) { 23XCI::XCI(VirtualFile file_)
24 : file(std::move(file_)), program_nca_status{Loader::ResultStatus::ErrorXCIMissingProgramNCA},
25 partitions(0x4) {
24 if (file->ReadObject(&header) != sizeof(GamecardHeader)) { 26 if (file->ReadObject(&header) != sizeof(GamecardHeader)) {
25 status = Loader::ResultStatus::ErrorBadXCIHeader; 27 status = Loader::ResultStatus::ErrorBadXCIHeader;
26 return; 28 return;