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

fixes an infinite loop in certain Primus Lisp analyses #1123

Merged

Conversation

ivg
Copy link
Member

@ivg ivg commented Jun 12, 2020

Since now Primus Lisp operations are expressed in terms of the Primus
interpreter (in order to enable analysis of the code that is stubbed
in Primus Lisp), we have the eval-cond signal sent every time we
make any comparison operation in Lisp, e.g., if, when, or,
and, etc. Therefore, any method for eval-cond that does any
comparison operation (branching) will stall in an infinite loop.

A workaround is to use another observation that occurs only on jumps
that are situated in the binary code, but in general we shall address
it and make sure that eval-cond method is usable.

fixes (as a workaround) #1121

Since now Primus Lisp operations are expressed in terms of the Primus
interpreter (in order to enable analysis of the code that is stubbed
in Primus Lisp), we have the `eval-cond` signal sent every time we
make any comparison operation in Lisp, e.g., `if`, `when`, `or`,
`and`, etc. Therefore, any method for `eval-cond` that does any
comparison operation (branching) will stall in an infinite loop.

A workaround is to use another observation that occurs only on jumps
that are situated in the binary code, but in general we shall address
it and make sure that `eval-cond` method is usable.
@ivg ivg changed the title fixes an inifinite loop in certain Primus Lisp analysis fixes an infinite loop in certain Primus Lisp analysis Jun 12, 2020
@ivg ivg changed the title fixes an infinite loop in certain Primus Lisp analysis fixes an infinite loop in certain Primus Lisp analyses Jun 12, 2020
@ivg ivg merged commit c35ed1d into BinaryAnalysisPlatform:master Jun 12, 2020
@ivg ivg deleted the fixes-inifinte-loops-in-primus-lisp branch March 9, 2022 17:16
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