Skip to content

Conversation

@a1batross
Copy link

@a1batross a1batross commented Apr 28, 2024

Imagine a situation where MemoryUtils::ResolveSymbol for some reason fails.
(not yet supported engine for example ( ͡° ͜ʖ ͡°))

Then the signature gets parsed as a HEX value. The way the MemoryUtils::DecodeHexString (called by MemoryUtils::DecodeAndFindPattern) works is that it takes any symbols, checks if it's backslash and tries to parse it, otherwise it just silently puts into the buffer.

The problem of this is that the MemoryUtils::FindPattern will look for any pattern match, despite it's not a pattern but a symbol name in an ASCII. This might lead to unwanted consequences, and to me, it's better fail here than crash.

Imagine a situation where `MemoryUtils::ResolveSymbol` for some reason fails.

Then the signature gets parsed as a HEX value. The way the `MemoryUtils::DecodeHexString` (called by `MemoryUtils::DecodeAndFindPattern`) works is that it takes any symbols, checks if it's backslash and tries to parse it, otherwise it just silently puts into the buffer.

The problem of this is that the `MemoryUtils::FindPattern` will look for any pattern match, despite it's not a pattern but a symbol name in an ASCII. This might lead to unwanted consequences, and to me, it's better fail here than crash.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant