summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/fs/fs_user.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/service/fs/fs_user.cpp')
-rw-r--r--src/core/hle/service/fs/fs_user.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/hle/service/fs/fs_user.cpp b/src/core/hle/service/fs/fs_user.cpp
index e53a970d3..5a4437123 100644
--- a/src/core/hle/service/fs/fs_user.cpp
+++ b/src/core/hle/service/fs/fs_user.cpp
@@ -8,6 +8,7 @@
#include "common/logging/log.h"
#include "common/scope_exit.h"
#include "common/string_util.h"
+#include "core/core.h"
#include "core/file_sys/errors.h"
#include "core/hle/kernel/client_session.h"
#include "core/hle/result.h"
@@ -132,6 +133,10 @@ static void OpenFileDirectly(Service::Interface* self) {
LOG_ERROR(Service_FS,
"failed to get a handle for archive archive_id=0x%08X archive_path=%s",
static_cast<u32>(archive_id), archive_path.DebugStr().c_str());
+ if (static_cast<u32>(archive_id) == 0x2345678A) {
+ Core::System::GetInstance().SetStatus(Core::System::ResultStatus::ErrorSystemFiles);
+ return;
+ }
cmd_buff[1] = archive_handle.Code().raw;
cmd_buff[3] = 0;
return;