Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

add a flag for edge TB so we can unlink it completely #53

Merged
merged 4 commits into from
Apr 26, 2024

Conversation

cube0x8
Copy link
Contributor

@cube0x8 cube0x8 commented Mar 13, 2024

First coarse attempt at resolving #52. It fixes the bug for me, no more infinite loop.

I added an additional flag when creating a new edge, which is later checked in tb_jmp_unlink to verify if we're unlinking an edge. In case, we call tb_reset_edge (this can actually be a recursive call at tb_jmp_unlink, but I didn't want to complicate it too much for now) and unlink the edge from its predecessor.

@andreafioraldi @rmalmain if you think it makes any sense, I can improve it.

@andreafioraldi
Copy link
Member

it looks good thanks

@andreafioraldi
Copy link
Member

can you mark you changes between the begin and end libafl code markers? like here

//// --- Begin LibAFL code ---

@cube0x8
Copy link
Contributor Author

cube0x8 commented Apr 4, 2024

Yes, there are also other modifications that need to be pushed. I will push them soon

@rmalmain rmalmain merged commit 5d47d11 into AFLplusplus:main Apr 26, 2024
1 check passed
rmalmain added a commit that referenced this pull request May 1, 2024
* add a flag for edge TB so we can unlink it completely

* Call tb_phys_invalidate on edge's TBs. Added libafl code comments

* Edge flag is now applied to cflags instead of flags

---------

Co-authored-by: Romain Malmain <[email protected]>
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.

3 participants