From 36f97156375ee420215d14eefbd5ca34a0358d7a Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sat, 15 Jun 2024 12:16:10 +1000 Subject: [PATCH] CDVD: Actually fix NVRAM open mode --- pcsx2/CDVD/CDVD.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pcsx2/CDVD/CDVD.cpp b/pcsx2/CDVD/CDVD.cpp index 049a7b904e..abd513e7aa 100644 --- a/pcsx2/CDVD/CDVD.cpp +++ b/pcsx2/CDVD/CDVD.cpp @@ -197,11 +197,15 @@ void cdvdSaveNVRAM() { Error error; const std::string nvmfile = cdvdGetNVRAMPath(); - auto fp = FileSystem::OpenManagedCFile(nvmfile.c_str(), "wb", &error); + auto fp = FileSystem::OpenManagedCFile(nvmfile.c_str(), "r+b", &error); if (!fp) { - ERROR_LOG("Failed to open NVRAM at {} for updating: {}", Path::GetFileName(nvmfile), error.GetDescription()); - return; + fp = FileSystem::OpenManagedCFile(nvmfile.c_str(), "w+b", &error); + if (!fp) [[unlikely]] + { + ERROR_LOG("Failed to open NVRAM at {} for updating: {}", Path::GetFileName(nvmfile), error.GetDescription()); + return; + } } u8 existing_nvram[NVRAM_SIZE];