summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/hle/service/filesystem/filesystem.cpp28
1 files changed, 24 insertions, 4 deletions
diff --git a/src/core/hle/service/filesystem/filesystem.cpp b/src/core/hle/service/filesystem/filesystem.cpp
index f59fa7fb1..ac465d5a9 100644
--- a/src/core/hle/service/filesystem/filesystem.cpp
+++ b/src/core/hle/service/filesystem/filesystem.cpp
@@ -383,7 +383,12 @@ Result FileSystemController::CreateSaveData(FileSys::VirtualDir* out_save_data,
383 return FileSys::ERROR_ENTITY_NOT_FOUND; 383 return FileSys::ERROR_ENTITY_NOT_FOUND;
384 } 384 }
385 385
386 *out_save_data = save_data_factory->Create(space, save_struct); 386 auto save_data = save_data_factory->Create(space, save_struct);
387 if (save_data == nullptr) {
388 return FileSys::ERROR_ENTITY_NOT_FOUND;
389 }
390
391 *out_save_data = save_data;
387 return ResultSuccess; 392 return ResultSuccess;
388} 393}
389 394
@@ -397,7 +402,12 @@ Result FileSystemController::OpenSaveData(FileSys::VirtualDir* out_save_data,
397 return FileSys::ERROR_ENTITY_NOT_FOUND; 402 return FileSys::ERROR_ENTITY_NOT_FOUND;
398 } 403 }
399 404
400 *out_save_data = save_data_factory->Open(space, attribute); 405 auto save_data = save_data_factory->Open(space, attribute);
406 if (save_data == nullptr) {
407 return FileSys::ERROR_ENTITY_NOT_FOUND;
408 }
409
410 *out_save_data = save_data;
401 return ResultSuccess; 411 return ResultSuccess;
402} 412}
403 413
@@ -409,7 +419,12 @@ Result FileSystemController::OpenSaveDataSpace(FileSys::VirtualDir* out_save_dat
409 return FileSys::ERROR_ENTITY_NOT_FOUND; 419 return FileSys::ERROR_ENTITY_NOT_FOUND;
410 } 420 }
411 421
412 *out_save_data_space = save_data_factory->GetSaveDataSpaceDirectory(space); 422 auto save_data_space = save_data_factory->GetSaveDataSpaceDirectory(space);
423 if (save_data_space == nullptr) {
424 return FileSys::ERROR_ENTITY_NOT_FOUND;
425 }
426
427 *out_save_data_space = save_data_space;
413 return ResultSuccess; 428 return ResultSuccess;
414} 429}
415 430
@@ -420,7 +435,12 @@ Result FileSystemController::OpenSDMC(FileSys::VirtualDir* out_sdmc) const {
420 return FileSys::ERROR_SD_CARD_NOT_FOUND; 435 return FileSys::ERROR_SD_CARD_NOT_FOUND;
421 } 436 }
422 437
423 *out_sdmc = sdmc_factory->Open(); 438 auto sdmc = sdmc_factory->Open();
439 if (sdmc == nullptr) {
440 return FileSys::ERROR_SD_CARD_NOT_FOUND;
441 }
442
443 *out_sdmc = sdmc;
424 return ResultSuccess; 444 return ResultSuccess;
425} 445}
426 446