Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Passing a Gr2 file that uses Oodle0 causes an buffer overflow #7

Open
hukasu opened this issue Aug 23, 2024 · 1 comment
Open

Passing a Gr2 file that uses Oodle0 causes an buffer overflow #7

hukasu opened this issue Aug 23, 2024 · 1 comment

Comments

@hukasu
Copy link

hukasu commented Aug 23, 2024

I tried running gr2nfo on a Gr2 that uses Oodle0 and it causes an buffer overflow.

memcpy(decompressedData + repeat * backref_offset, decompressedData - backref_offset, remain);

This memcpy writes outside of the bounds of the decompressedData buffer, overwriting points on dictionary->midbits[0].ranges, which later gets called free on, and raising a address violation.

case COMPRESSION_TYPE_OODLE0:

This case is misleading, as it makes it seem as if the algorithm for Oodle1 can decompress Oodle0.

Has the algorithm for Oodle0 existed at any point?

@arves100
Copy link
Owner

arves100 commented Aug 27, 2024 via email

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants