-
Notifications
You must be signed in to change notification settings - Fork 91
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
AssignmentExpression assert nullptr Error #19
Comments
I am preventing the abortion with this code: Expression::SPType operand0 = rInsn.GetOperand(0);
Expression::SPType operand1 = rInsn.GetOperand(1);
if (operand1 == nullptr) {
Log::Write("operand 1 is null");
return false;
}
auto pExpr1 = /* Semantic: if zf.id == int1(1): op0.val = op1.val */
Expr::MakeIfElseCond(
ConditionExpression::CondEq,
Expr::MakeId(X86_FlZf, &m_CpuInfo),
Expr::MakeConst(1, 0x1),
Expr::MakeAssign(operand0, operand1),
nullptr);
AllExpr.push_back(pExpr1);
rInsn.SetSemantic(AllExpr); in the following file: src/arch/x86/x86_opcode.cpp |
It may looks radical, but this behavior is desired. Just attach a debugger and look in the call stack to find the buggy instruction. |
Well, how could I best share this exe with you? |
4shared.com is ok I guess. |
I really think that the code of the file has something wrong. At least if I look at this: http://pedump.me/a772ef7449783ee4edc60dd0b006ffe6/#disasm |
Thanks for sharing, the buggy instruction was cmpxchg8b, the fix is 1d61c8e |
Hey I've just tested your fix. It works :) |
Thanks, it's actually pretty easy to debug these issues:
|
Assertion failed: (spSrcExpr != nullptr && "Source expression is null"), function AssignmentExpression, file /src/core/expression.cpp, line 342.
The file is a pe x86 Intel Windows Executable.
This happens, qMedusa stops to work and nothing of the progression was saved.
Is there something not fully implemented that this can happen? Or how can I fix this?
I am working with the newest code of the master branch.
The text was updated successfully, but these errors were encountered: