diff options
| author | 2018-07-19 11:43:14 -0700 | |
|---|---|---|
| committer | 2018-07-19 11:43:14 -0700 | |
| commit | 1034bcc7421fedfb32369dabcf6edb9aee2690b8 (patch) | |
| tree | 08acdeefc3e1ae657fc6cba6a32e217825672ac0 /src | |
| parent | Merge pull request #709 from lioncash/thread-local (diff) | |
| parent | loader/nro: Resolve sign mismatch warnings (diff) | |
| download | yuzu-1034bcc7421fedfb32369dabcf6edb9aee2690b8.tar.gz yuzu-1034bcc7421fedfb32369dabcf6edb9aee2690b8.tar.xz yuzu-1034bcc7421fedfb32369dabcf6edb9aee2690b8.zip | |
Merge pull request #694 from lioncash/warn
loader/{nro, nso}: Resolve compilation warnings
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/loader/nro.cpp | 2 | ||||
| -rw-r--r-- | src/core/loader/nso.cpp | 8 |
2 files changed, 4 insertions, 6 deletions
diff --git a/src/core/loader/nro.cpp b/src/core/loader/nro.cpp index a007d3e6e..465b827bb 100644 --- a/src/core/loader/nro.cpp +++ b/src/core/loader/nro.cpp | |||
| @@ -82,7 +82,7 @@ bool AppLoader_NRO::LoadNro(FileSys::VirtualFile file, VAddr load_base) { | |||
| 82 | if (program_image.size() != PageAlignSize(nro_header.file_size)) | 82 | if (program_image.size() != PageAlignSize(nro_header.file_size)) |
| 83 | return {}; | 83 | return {}; |
| 84 | 84 | ||
| 85 | for (int i = 0; i < nro_header.segments.size(); ++i) { | 85 | for (std::size_t i = 0; i < nro_header.segments.size(); ++i) { |
| 86 | codeset->segments[i].addr = nro_header.segments[i].offset; | 86 | codeset->segments[i].addr = nro_header.segments[i].offset; |
| 87 | codeset->segments[i].offset = nro_header.segments[i].offset; | 87 | codeset->segments[i].offset = nro_header.segments[i].offset; |
| 88 | codeset->segments[i].size = PageAlignSize(nro_header.segments[i].size); | 88 | codeset->segments[i].size = PageAlignSize(nro_header.segments[i].size); |
diff --git a/src/core/loader/nso.cpp b/src/core/loader/nso.cpp index 2beb85fbf..f7752e0e3 100644 --- a/src/core/loader/nso.cpp +++ b/src/core/loader/nso.cpp | |||
| @@ -66,8 +66,7 @@ FileType AppLoader_NSO::IdentifyType(const FileSys::VirtualFile& file) { | |||
| 66 | 66 | ||
| 67 | static std::vector<u8> DecompressSegment(const std::vector<u8>& compressed_data, | 67 | static std::vector<u8> DecompressSegment(const std::vector<u8>& compressed_data, |
| 68 | const NsoSegmentHeader& header) { | 68 | const NsoSegmentHeader& header) { |
| 69 | std::vector<u8> uncompressed_data; | 69 | std::vector<u8> uncompressed_data(header.size); |
| 70 | uncompressed_data.resize(header.size); | ||
| 71 | const int bytes_uncompressed = LZ4_decompress_safe( | 70 | const int bytes_uncompressed = LZ4_decompress_safe( |
| 72 | reinterpret_cast<const char*>(compressed_data.data()), | 71 | reinterpret_cast<const char*>(compressed_data.data()), |
| 73 | reinterpret_cast<char*>(uncompressed_data.data()), compressed_data.size(), header.size); | 72 | reinterpret_cast<char*>(uncompressed_data.data()), compressed_data.size(), header.size); |
| @@ -80,8 +79,7 @@ static std::vector<u8> DecompressSegment(const std::vector<u8>& compressed_data, | |||
| 80 | 79 | ||
| 81 | static std::vector<u8> ReadSegment(FileUtil::IOFile& file, const NsoSegmentHeader& header, | 80 | static std::vector<u8> ReadSegment(FileUtil::IOFile& file, const NsoSegmentHeader& header, |
| 82 | size_t compressed_size) { | 81 | size_t compressed_size) { |
| 83 | std::vector<u8> compressed_data; | 82 | std::vector<u8> compressed_data(compressed_size); |
| 84 | compressed_data.resize(compressed_size); | ||
| 85 | 83 | ||
| 86 | file.Seek(header.offset, SEEK_SET); | 84 | file.Seek(header.offset, SEEK_SET); |
| 87 | if (compressed_size != file.ReadBytes(compressed_data.data(), compressed_size)) { | 85 | if (compressed_size != file.ReadBytes(compressed_data.data(), compressed_size)) { |
| @@ -113,7 +111,7 @@ VAddr AppLoader_NSO::LoadModule(FileSys::VirtualFile file, VAddr load_base) { | |||
| 113 | // Build program image | 111 | // Build program image |
| 114 | Kernel::SharedPtr<Kernel::CodeSet> codeset = Kernel::CodeSet::Create(""); | 112 | Kernel::SharedPtr<Kernel::CodeSet> codeset = Kernel::CodeSet::Create(""); |
| 115 | std::vector<u8> program_image; | 113 | std::vector<u8> program_image; |
| 116 | for (int i = 0; i < nso_header.segments.size(); ++i) { | 114 | for (std::size_t i = 0; i < nso_header.segments.size(); ++i) { |
| 117 | const std::vector<u8> compressed_data = | 115 | const std::vector<u8> compressed_data = |
| 118 | file->ReadBytes(nso_header.segments_compressed_size[i], nso_header.segments[i].offset); | 116 | file->ReadBytes(nso_header.segments_compressed_size[i], nso_header.segments[i].offset); |
| 119 | std::vector<u8> data = DecompressSegment(compressed_data, nso_header.segments[i]); | 117 | std::vector<u8> data = DecompressSegment(compressed_data, nso_header.segments[i]); |