fix: Invalid address bound check for jump-to option

Fixes #1487
This commit is contained in:
WerWolv 2024-01-08 22:34:42 +01:00
parent bfafc692db
commit 21d6c1326c
1 changed files with 2 additions and 6 deletions

View File

@ -1308,15 +1308,11 @@ namespace hex::plugin::builtin {
}; };
if (ImGui::MenuItem(hex::format("0x{:08X}", littleEndianValue).c_str(), "hex.ui.common.little_endian"_lang, false, canJumpTo(littleEndianValue))) { if (ImGui::MenuItem(hex::format("0x{:08X}", littleEndianValue).c_str(), "hex.ui.common.little_endian"_lang, false, canJumpTo(littleEndianValue))) {
if (value < provider->getBaseAddress() + provider->getActualSize()) { ImHexApi::HexEditor::setSelection(littleEndianValue, 1);
ImHexApi::HexEditor::setSelection(littleEndianValue, 1);
}
} }
if (ImGui::MenuItem(hex::format("0x{:08X}", bigEndianValue).c_str(), "hex.ui.common.big_endian"_lang, false, canJumpTo(bigEndianValue))) { if (ImGui::MenuItem(hex::format("0x{:08X}", bigEndianValue).c_str(), "hex.ui.common.big_endian"_lang, false, canJumpTo(bigEndianValue))) {
if (value < provider->getBaseAddress() + provider->getActualSize()) { ImHexApi::HexEditor::setSelection(bigEndianValue, 1);
ImHexApi::HexEditor::setSelection(bigEndianValue, 1);
}
} }
}, },
[] { return ImHexApi::Provider::isValid() && ImHexApi::HexEditor::isSelectionValid() && ImHexApi::HexEditor::getSelection()->getSize() <= sizeof(u64); }); [] { return ImHexApi::Provider::isValid() && ImHexApi::HexEditor::isSelectionValid() && ImHexApi::HexEditor::getSelection()->getSize() <= sizeof(u64); });