mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2025-07-04 16:42:14 +02:00
fs.mitm: Use unique_ptr (fix memory leak along the way)
The previous code was using "delete" rather than "delete[]"
This commit is contained in:
parent
e78bd11a05
commit
a69a054809
@ -158,19 +158,17 @@ void RomFSBuildContext::MergeRomStorage(IROStorage *storage, RomFSDataSource sou
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Read tables. */
|
/* Read tables. */
|
||||||
u8 *dir_table = new u8[header.dir_table_size];
|
auto dir_table = std::make_unique<u8[]>(header.dir_table_size);
|
||||||
u8 *file_table = new u8[header.file_table_size];
|
auto file_table = std::make_unique<u8[]>(header.file_table_size);
|
||||||
if (R_FAILED((rc = storage->Read(dir_table, header.dir_table_size, header.dir_table_ofs)))) {
|
if (R_FAILED((rc = storage->Read(dir_table.get(), header.dir_table_size, header.dir_table_ofs)))) {
|
||||||
fatalSimple(rc);
|
fatalSimple(rc);
|
||||||
}
|
}
|
||||||
if (R_FAILED((rc = storage->Read(file_table, header.file_table_size, header.file_table_ofs)))) {
|
if (R_FAILED((rc = storage->Read(file_table.get(), header.file_table_size, header.file_table_ofs)))) {
|
||||||
fatalSimple(rc);
|
fatalSimple(rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
this->cur_source_type = source;
|
this->cur_source_type = source;
|
||||||
this->VisitDirectory(this->root, 0x0, dir_table, (size_t)header.dir_table_size, file_table, (size_t)header.file_table_size);
|
this->VisitDirectory(this->root, 0x0, dir_table.get(), (size_t)header.dir_table_size, file_table.get(), (size_t)header.file_table_size);
|
||||||
delete dir_table;
|
|
||||||
delete file_table;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RomFSBuildContext::AddDirectory(RomFSBuildDirectoryContext *parent_dir_ctx, RomFSBuildDirectoryContext *dir_ctx, RomFSBuildDirectoryContext **out_dir_ctx) {
|
bool RomFSBuildContext::AddDirectory(RomFSBuildDirectoryContext *parent_dir_ctx, RomFSBuildDirectoryContext *dir_ctx, RomFSBuildDirectoryContext **out_dir_ctx) {
|
||||||
|
Loading…
Reference in New Issue
Block a user