Fix sidebar crash (#99)

* Fix crash on invalid asm/hex

Added nullptr checks because the called functions can (and will)
return NULL

* Call disassemble when hex2asm is clicked

* Change order on != comparison

* Fix missing whitspace
This commit is contained in:
C. Balles 2017-04-09 04:49:16 +02:00 committed by Duncan Ogilvie
parent cd1df4e08c
commit 0c69988f83
2 changed files with 4 additions and 4 deletions

View File

@ -511,14 +511,14 @@ void QRCore::setDefaultCPU() {
QString QRCore::assemble(const QString &code) {
RAsmCode *ac = r_asm_massemble (core->assembler, code.toUtf8().constData());
QString hex = QString(ac->buf_hex);
QString hex(ac != nullptr ? ac->buf_hex : "");
r_asm_code_free (ac);
return hex;
}
QString QRCore::disassemble(const QString &hex) {
RAsmCode *ac = r_asm_mdisassemble_hexstr(core->assembler, hex.toUtf8().constData());
QString code = QString (ac->buf_asm);
QString code = QString (ac != nullptr ? ac->buf_asm : "");
r_asm_code_free (ac);
return code;
}
@ -540,7 +540,7 @@ int QRCore::get_size()
{
RBinObject *obj = r_bin_get_object(core->bin);
//return obj->size;
return obj->obj_size;
return obj != nullptr ? obj->obj_size : 0;
}
ulong QRCore::get_baddr()

View File

@ -89,7 +89,7 @@ void SideBar::on_asm2hex_clicked()
void SideBar::on_hex2asm_clicked()
{
ui->asmInput->setPlainText(main->core->assemble(ui->hexInput->toPlainText()));
ui->asmInput->setPlainText(main->core->disassemble(ui->hexInput->toPlainText()));
}
void SideBar::on_respButton_toggled(bool checked)