From 21732f93900b3e1b28f47d4b8f1bed2ba900b40d Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Thu, 23 Jul 2026 03:30:28 +0200 Subject: [PATCH] Fix NullPointerException in BundleStatusTableModel.bundleBuilt getStatus(bundle) returns null when the built bundle is not tracked in the table model's map (e.g. a bundle built programmatically rather than added through the Bundle Manager). The bundleBuilt handler dereferenced it unconditionally, throwing an uncaught NPE on the Swing thread. Guard the status the same way bundleException() already does. --- .../app/plugin/core/osgi/BundleStatusTableModel.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/osgi/BundleStatusTableModel.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/osgi/BundleStatusTableModel.java index 6b11e7b968..b88abd8d15 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/osgi/BundleStatusTableModel.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/osgi/BundleStatusTableModel.java @@ -300,9 +300,11 @@ public class BundleStatusTableModel if (summary != null) { Swing.runLater(() -> { BundleStatus status = getStatus(bundle); - status.setSummary(summary); - int rowIndex = getRowIndex(status); - fireTableRowsUpdated(rowIndex, rowIndex); + if (status != null) { + status.setSummary(summary); + int rowIndex = getRowIndex(status); + fireTableRowsUpdated(rowIndex, rowIndex); + } }); } }