RetroAchievements / rcheevos

Library to parse and evaluate achievements and leaderboards for RetroAchievements
MIT License
86 stars 33 forks source link

fix logic error hashing small files from CD filesystem #314

Closed Jamiras closed 7 months ago

Jamiras commented 7 months ago

https://discord.com/channels/310192285306454017/645777658319208448/1197203036334985297

When reading a file smaller than 2048 bytes, the entire sector containing the file was being hashed. This was unintentional.

However, fixing this issue will cause most of the PSP hashes to change. As such, we will need to support both old and new hashes for the ~1000 PSP hashes already in the system.

This function is also used for NeoGeoCD, Dreamcast, PSX, and PS2 hashes, but the likelihood of those having files smaller than 2048 bytes is basically non-existant.