From 7c353a6c6f056a058a0fb0380f0ea00936b1153d Mon Sep 17 00:00:00 2001 From: Jan S Date: Tue, 15 Jan 2019 11:05:45 +0100 Subject: [PATCH] fix(gui): unsynchronized search index creation results in NullPointerException upon performing search (#429) --- jadx-gui/src/main/java/jadx/gui/ui/SearchDialog.java | 1 + jadx-gui/src/main/java/jadx/gui/utils/search/CodeIndex.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/jadx-gui/src/main/java/jadx/gui/ui/SearchDialog.java b/jadx-gui/src/main/java/jadx/gui/ui/SearchDialog.java index 5cc811299..62c9dad58 100644 --- a/jadx-gui/src/main/java/jadx/gui/ui/SearchDialog.java +++ b/jadx-gui/src/main/java/jadx/gui/ui/SearchDialog.java @@ -180,6 +180,7 @@ public class SearchDialog extends CommonSearchDialog { .toList() .toFlowable(), 1) .observeOn(SwingSchedulers.edt()) + .doOnError(e -> LOG.error("Error while searching: {}", e.getMessage(), e)) .subscribe(this::processSearchResults); } diff --git a/jadx-gui/src/main/java/jadx/gui/utils/search/CodeIndex.java b/jadx-gui/src/main/java/jadx/gui/utils/search/CodeIndex.java index 2c7328972..6aaf8e6e2 100644 --- a/jadx-gui/src/main/java/jadx/gui/utils/search/CodeIndex.java +++ b/jadx-gui/src/main/java/jadx/gui/utils/search/CodeIndex.java @@ -23,7 +23,7 @@ public class CodeIndex implements SearchIndex { } @Override - public void put(StringRef str, T value) { + public synchronized void put(StringRef str, T value) { if (str == null || str.length() == 0) { return; }