From bede5a71f8fa13e281e494cb3590ce6cbe08821d Mon Sep 17 00:00:00 2001 From: CalDescent Date: Sat, 28 Jan 2023 14:17:23 +0000 Subject: [PATCH] Fixed various NPEs when checking statuses of non-existent resources. --- .../arbitrary/ArbitraryDataResource.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataResource.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataResource.java index ef068858..b9842976 100644 --- a/src/main/java/org/qortal/arbitrary/ArbitraryDataResource.java +++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataResource.java @@ -143,6 +143,9 @@ public class ArbitraryDataResource { public boolean delete() { try { this.fetchTransactions(); + if (this.transactions == null) { + return false; + } List transactionDataList = new ArrayList<>(this.transactions); @@ -198,6 +201,9 @@ public class ArbitraryDataResource { try { this.fetchTransactions(); + if (this.transactions == null) { + return false; + } List transactionDataList = new ArrayList<>(this.transactions); @@ -217,6 +223,11 @@ public class ArbitraryDataResource { private void calculateChunkCounts() { try { this.fetchTransactions(); + if (this.transactions == null) { + this.localChunkCount = 0; + this.totalChunkCount = 0; + return; + } List transactionDataList = new ArrayList<>(this.transactions); int localChunkCount = 0; @@ -236,6 +247,9 @@ public class ArbitraryDataResource { private boolean isRateLimited() { try { this.fetchTransactions(); + if (this.transactions == null) { + return true; + } List transactionDataList = new ArrayList<>(this.transactions); @@ -259,6 +273,10 @@ public class ArbitraryDataResource { private boolean isDataPotentiallyAvailable() { try { this.fetchTransactions(); + if (this.transactions == null) { + return false; + } + Long now = NTP.getTime(); if (now == null) { return false; @@ -290,6 +308,10 @@ public class ArbitraryDataResource { private boolean isDownloading() { try { this.fetchTransactions(); + if (this.transactions == null) { + return false; + } + Long now = NTP.getTime(); if (now == null) { return false;