diff --git a/jadx-gui/src/main/java/jadx/gui/ui/dialog/CommonSearchDialog.java b/jadx-gui/src/main/java/jadx/gui/ui/dialog/CommonSearchDialog.java index fd4c5252dcdf8666a1bc1ff8f82803aadad3a70b..eb62a2df7db5d89523dc4dcd0b6ec5b05e451eb2 100644 --- a/jadx-gui/src/main/java/jadx/gui/ui/dialog/CommonSearchDialog.java +++ b/jadx-gui/src/main/java/jadx/gui/ui/dialog/CommonSearchDialog.java @@ -150,11 +150,16 @@ public abstract class CommonSearchDialog extends JFrame { @Nullable private JNode getSelectedNode() { - int selectedId = resultsTable.getSelectedRow(); - if (selectedId == -1) { + try { + int selectedId = resultsTable.getSelectedRow(); + if (selectedId == -1 || selectedId >= resultsTable.getRowCount()) { + return null; + } + return (JNode) resultsModel.getValueAt(selectedId, 0); + } catch (Exception e) { + LOG.error("Failed to get results table selected object", e); return null; } - return (JNode) resultsModel.getValueAt(selectedId, 0); } @Override