Permalink
Browse files

GCMemcard: Fix incorrect directory block being accessed in RemoveFile().

When deleting files, block index data was always fetched from the first copy of the directory listing rather than the currently active one.
  • Loading branch information...
AdmiralCurtiss committed Nov 20, 2018
1 parent 3e03b13 commit 431e6c42e1d2543141505c1d7016ba94c3363acb
Showing with 2 additions and 2 deletions.
  1. +2 −2 Source/Core/Core/HW/GCMemcard/GCMemcard.cpp
@@ -739,8 +739,8 @@ u32 GCMemcard::RemoveFile(u8 index) // index in the directory array
if (index >= DIRLEN)
return DELETE_FAIL;
u16 startingblock = BE16(dir.Dir[index].FirstBlock);
u16 numberofblocks = BE16(dir.Dir[index].BlockCount);
u16 startingblock = BE16(CurrentDir->Dir[index].FirstBlock);
u16 numberofblocks = BE16(CurrentDir->Dir[index].BlockCount);
BlockAlloc UpdatedBat = *CurrentBat;
if (!UpdatedBat.ClearBlocks(startingblock, numberofblocks))

0 comments on commit 431e6c4

Please sign in to comment.