mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-11-09 22:56:35 +00:00
ncm: hot take, uninitialized data bad
This commit is contained in:
parent
dfcb5005d2
commit
a89c5dd5d7
18 changed files with 36 additions and 36 deletions
|
@ -25,7 +25,7 @@ namespace ams::lr {
|
|||
private:
|
||||
sf::SharedPointer<IAddOnContentLocationResolver> m_interface;
|
||||
public:
|
||||
AddOnContentLocationResolver() { /* ... */ }
|
||||
AddOnContentLocationResolver() : m_interface(nullptr) { /* ... */ }
|
||||
explicit AddOnContentLocationResolver(sf::SharedPointer<IAddOnContentLocationResolver> intf) : m_interface(intf) { /* ... */ }
|
||||
|
||||
AddOnContentLocationResolver(AddOnContentLocationResolver &&rhs) {
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace ams::lr {
|
|||
private:
|
||||
sf::SharedPointer<ILocationResolver> m_interface;
|
||||
public:
|
||||
LocationResolver() { /* ... */ }
|
||||
LocationResolver() : m_interface(nullptr) { /* ... */ }
|
||||
explicit LocationResolver(sf::SharedPointer<ILocationResolver> intf) : m_interface(intf) { /* ... */ }
|
||||
|
||||
LocationResolver(LocationResolver &&rhs) {
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace ams::lr {
|
|||
private:
|
||||
sf::SharedPointer<IRegisteredLocationResolver> m_interface;
|
||||
public:
|
||||
RegisteredLocationResolver() { /* ... */ }
|
||||
RegisteredLocationResolver() : m_interface(nullptr) { /* ... */ }
|
||||
explicit RegisteredLocationResolver(sf::SharedPointer<IRegisteredLocationResolver> intf) : m_interface(intf) { /* ... */ }
|
||||
|
||||
RegisteredLocationResolver(RegisteredLocationResolver &&rhs) {
|
||||
|
|
|
@ -84,7 +84,7 @@ namespace ams::ncm {
|
|||
fs::ContentStorageId content_storage_id;
|
||||
sf::SharedPointer<IContentStorage> content_storage;
|
||||
|
||||
ContentStorageRoot() { /* ... */ }
|
||||
ContentStorageRoot() : mount_name(), path(), storage_id(), content_storage_id(), content_storage() { /* ... */ }
|
||||
};
|
||||
|
||||
struct ContentMetaDatabaseRoot {
|
||||
|
@ -100,7 +100,7 @@ namespace ams::ncm {
|
|||
ContentMetaMemoryResource *memory_resource;
|
||||
u32 max_content_metas;
|
||||
|
||||
ContentMetaDatabaseRoot() { /* ... */ }
|
||||
ContentMetaDatabaseRoot() : mount_name(), path(), storage_id(), info(), content_meta_database(), kvs(util::nullopt), memory_resource(), max_content_metas() { /* ... */ }
|
||||
};
|
||||
private:
|
||||
os::SdkRecursiveMutex m_mutex;
|
||||
|
|
|
@ -28,7 +28,7 @@ namespace ams::ncm {
|
|||
private:
|
||||
sf::SharedPointer<IContentMetaDatabase> m_interface;
|
||||
public:
|
||||
ContentMetaDatabase() { /* ... */ }
|
||||
ContentMetaDatabase() : m_interface(nullptr) { /* ... */ }
|
||||
explicit ContentMetaDatabase(sf::SharedPointer<IContentMetaDatabase> intf) : m_interface(intf) { /* ... */ }
|
||||
|
||||
ContentMetaDatabase(ContentMetaDatabase &&rhs) {
|
||||
|
|
|
@ -23,7 +23,7 @@ namespace ams::ncm {
|
|||
private:
|
||||
sf::SharedPointer<IContentStorage> m_interface;
|
||||
public:
|
||||
ContentStorage() { /* ... */ }
|
||||
ContentStorage() : m_interface(nullptr) { /* ... */ }
|
||||
explicit ContentStorage(sf::SharedPointer<IContentStorage> intf) : m_interface(intf) { /* ... */ }
|
||||
|
||||
ContentStorage(ContentStorage &&rhs) {
|
||||
|
|
|
@ -82,18 +82,18 @@ namespace ams::ncm {
|
|||
NON_COPYABLE(InstallTaskBase);
|
||||
NON_MOVEABLE(InstallTaskBase);
|
||||
private:
|
||||
crypto::Sha256Generator m_sha256_generator;
|
||||
StorageId m_install_storage;
|
||||
InstallTaskDataBase *m_data;
|
||||
InstallProgress m_progress;
|
||||
os::SdkMutex m_progress_mutex;
|
||||
u32 m_config;
|
||||
os::SdkMutex m_cancel_mutex;
|
||||
bool m_cancel_requested;
|
||||
InstallThroughput m_throughput;
|
||||
TimeSpan m_throughput_start_time;
|
||||
os::SdkMutex m_throughput_mutex;
|
||||
FirmwareVariationId m_firmware_variation_id;
|
||||
crypto::Sha256Generator m_sha256_generator{};
|
||||
StorageId m_install_storage{};
|
||||
InstallTaskDataBase *m_data{};
|
||||
InstallProgress m_progress{};
|
||||
os::SdkMutex m_progress_mutex{};
|
||||
u32 m_config{};
|
||||
os::SdkMutex m_cancel_mutex{};
|
||||
bool m_cancel_requested{};
|
||||
InstallThroughput m_throughput{};
|
||||
TimeSpan m_throughput_start_time{};
|
||||
os::SdkMutex m_throughput_mutex{};
|
||||
FirmwareVariationId m_firmware_variation_id{};
|
||||
private:
|
||||
ALWAYS_INLINE Result SetLastResultOnFailure(Result result) {
|
||||
if (R_FAILED(result)) {
|
||||
|
|
|
@ -64,7 +64,7 @@ namespace ams::ncm {
|
|||
Result m_last_result;
|
||||
SystemUpdateTaskApplyInfo m_system_update_task_apply_info;
|
||||
public:
|
||||
MemoryInstallTaskData() : m_state(InstallProgressState::NotPrepared), m_last_result(ResultSuccess()) { /* ... */ };
|
||||
MemoryInstallTaskData() : m_data_list(), m_state(InstallProgressState::NotPrepared), m_last_result(ResultSuccess()), m_system_update_task_apply_info() { /* ... */ };
|
||||
~MemoryInstallTaskData() {
|
||||
this->Cleanup();
|
||||
}
|
||||
|
@ -104,8 +104,8 @@ namespace ams::ncm {
|
|||
|
||||
static_assert(sizeof(EntryInfo) == 0x10);
|
||||
private:
|
||||
Header m_header;
|
||||
char m_path[64];
|
||||
Header m_header{};
|
||||
char m_path[64]{};
|
||||
private:
|
||||
static constexpr Header MakeInitialHeader(s32 max_entries) {
|
||||
return {
|
||||
|
|
|
@ -20,7 +20,7 @@ namespace ams::ncm {
|
|||
|
||||
class PackageInstallTask : public PackageInstallTaskBase {
|
||||
private:
|
||||
MemoryInstallTaskData m_data;
|
||||
MemoryInstallTaskData m_data{};
|
||||
public:
|
||||
Result Initialize(const char *package_root, StorageId storage_id, void *buffer, size_t buffer_size, bool ignore_ticket);
|
||||
protected:
|
||||
|
|
|
@ -24,8 +24,8 @@ namespace ams::ncm {
|
|||
using PackagePath = kvdb::BoundedString<256>;
|
||||
private:
|
||||
PackagePath m_package_root;
|
||||
void *m_buffer;
|
||||
size_t m_buffer_size;
|
||||
void *m_buffer{};
|
||||
size_t m_buffer_size{};
|
||||
public:
|
||||
PackageInstallTaskBase() : m_package_root() { /* ... */ }
|
||||
|
||||
|
|
|
@ -22,10 +22,10 @@ namespace ams::ncm {
|
|||
private:
|
||||
using PackagePath = kvdb::BoundedString<0x100>;
|
||||
private:
|
||||
PackagePath m_context_path;
|
||||
FileInstallTaskData m_data;
|
||||
ContentMetaDatabase m_package_db;
|
||||
bool m_gamecard_content_meta_database_active;
|
||||
PackagePath m_context_path{};
|
||||
FileInstallTaskData m_data{};
|
||||
ContentMetaDatabase m_package_db{};
|
||||
bool m_gamecard_content_meta_database_active{};
|
||||
public:
|
||||
~PackageSystemUpdateTask();
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ namespace ams::ncm {
|
|||
u64 m_counter;
|
||||
os::SdkMutex m_mutex;
|
||||
public:
|
||||
RightsIdCache() : m_mutex() {
|
||||
RightsIdCache() : m_entries(), m_counter(2), m_mutex() {
|
||||
this->Invalidate();
|
||||
}
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace ams::lr {
|
|||
ncm::ContentMetaDatabase m_content_meta_database;
|
||||
ncm::ContentStorage m_content_storage;
|
||||
public:
|
||||
ContentLocationResolverImpl(ncm::StorageId storage_id) : m_storage_id(storage_id) { /* ... */ }
|
||||
ContentLocationResolverImpl(ncm::StorageId storage_id) : m_storage_id(storage_id), m_content_meta_database(), m_content_storage() { /* ... */ }
|
||||
|
||||
~ContentLocationResolverImpl();
|
||||
private:
|
||||
|
|
|
@ -45,7 +45,7 @@ namespace ams::lr {
|
|||
void ClearRedirections(u32 flags = RedirectionFlags_None);
|
||||
Result RefreshImpl(const ncm::ProgramId *excluding_ids, size_t num_ids);
|
||||
public:
|
||||
RegisteredLocationResolverImpl() : m_registered_program_locations(GetMaxRegisteredLocations()), m_registered_html_docs_locations(GetMaxRegisteredLocations()) { /* ... */ }
|
||||
RegisteredLocationResolverImpl() : m_program_redirector(), m_registered_program_locations(GetMaxRegisteredLocations()), m_html_docs_redirector(), m_registered_html_docs_locations(GetMaxRegisteredLocations()) { /* ... */ }
|
||||
~RegisteredLocationResolverImpl();
|
||||
public:
|
||||
/* Actual commands. */
|
||||
|
|
|
@ -28,7 +28,7 @@ namespace ams::ncm {
|
|||
char m_mount_name[fs::MountNameLengthMax + 1];
|
||||
bool m_disabled;
|
||||
protected:
|
||||
ContentMetaDatabaseImplBase(ContentMetaKeyValueStore *kvs) : m_kvs(kvs), m_disabled(false) { /* ... */ }
|
||||
ContentMetaDatabaseImplBase(ContentMetaKeyValueStore *kvs) : m_kvs(kvs), m_mount_name(), m_disabled(false) { /* ... */ }
|
||||
|
||||
ContentMetaDatabaseImplBase(ContentMetaKeyValueStore *kvs, const char *mount_name) : ContentMetaDatabaseImplBase(kvs) {
|
||||
std::strcpy(m_mount_name, mount_name);
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace ams::ncm {
|
|||
MakeContentPathFunction m_make_content_path_func;
|
||||
bool m_disabled;
|
||||
protected:
|
||||
ContentStorageImplBase() : m_make_content_path_func(), m_disabled(false) { /* ... */ }
|
||||
ContentStorageImplBase() : m_root_path(), m_make_content_path_func(), m_disabled(false) { /* ... */ }
|
||||
protected:
|
||||
/* Helpers. */
|
||||
Result EnsureEnabled() const {
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace ams::ncm {
|
|||
CacheEntry *FindInCache(PlaceHolderId placeholder_id);
|
||||
CacheEntry *GetFreeEntry();;
|
||||
public:
|
||||
PlaceHolderAccessor() : m_cur_counter(0), m_cache_mutex(), m_delay_flush(false) {
|
||||
PlaceHolderAccessor() : m_root_path(nullptr), m_cur_counter(0), m_cache_mutex(), m_make_placeholder_path_func(nullptr), m_delay_flush(false) {
|
||||
for (size_t i = 0; i < MaxCacheEntries; i++) {
|
||||
m_caches[i].id = InvalidPlaceHolderId;
|
||||
}
|
||||
|
|
|
@ -55,7 +55,7 @@ namespace ams::ncm {
|
|||
}
|
||||
};
|
||||
|
||||
SubmissionPackageInstallTask::SubmissionPackageInstallTask() { /* ... */ }
|
||||
SubmissionPackageInstallTask::SubmissionPackageInstallTask() : m_impl(nullptr) { /* ... */ }
|
||||
SubmissionPackageInstallTask::~SubmissionPackageInstallTask() { /* ... */ }
|
||||
|
||||
Result SubmissionPackageInstallTask::Initialize(fs::FileHandle file, StorageId storage_id, void *buffer, size_t buffer_size, bool ignore_ticket) {
|
||||
|
|
Loading…
Reference in a new issue