fs_mitm: Fix mismatched new[] / delete (#389)
* fs.mitm: Fix mismatched new[] / delete Using delete instead of delete[] on a pointer given by new[] is undefined behaviour. For memory sources, malloc/free are used because cleaning up is tricky when data can be either allocated with new (RomfsHeader) or new[] (metadata). * set.mitm: Fix mismatched new[] / delete
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include <cstdlib>
|
||||
#include <switch.h>
|
||||
#include <map>
|
||||
|
||||
@@ -120,10 +121,10 @@ struct RomFSSourceInfo {
|
||||
case RomFSDataSource::MetaData:
|
||||
break;
|
||||
case RomFSDataSource::LooseFile:
|
||||
delete this->loose_source_info.path;
|
||||
delete[] this->loose_source_info.path;
|
||||
break;
|
||||
case RomFSDataSource::Memory:
|
||||
delete this->memory_source_info.data;
|
||||
std::free((void*)this->memory_source_info.data);
|
||||
break;
|
||||
default:
|
||||
fatalSimple(0xF601);
|
||||
|
||||
Reference in New Issue
Block a user