From d831972005ea0893234c59b82b98b5fe603b92a6 Mon Sep 17 00:00:00 2001 From: CalDescent Date: Fri, 31 Mar 2023 18:41:58 +0100 Subject: [PATCH] Fixed NPE in isMetadataEqual() --- .../qortal/arbitrary/ArbitraryDataTransactionBuilder.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataTransactionBuilder.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataTransactionBuilder.java index 6e8d150f..a9dd4fcf 100644 --- a/src/main/java/org/qortal/arbitrary/ArbitraryDataTransactionBuilder.java +++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataTransactionBuilder.java @@ -305,6 +305,9 @@ public class ArbitraryDataTransactionBuilder { } private boolean isMetadataEqual(ArbitraryDataTransactionMetadata existingMetadata) { + if (existingMetadata == null) { + return !this.hasMetadata(); + } if (!Objects.equals(existingMetadata.getTitle(), this.title)) { return false; } @@ -320,6 +323,10 @@ public class ArbitraryDataTransactionBuilder { return true; } + private boolean hasMetadata() { + return (this.title != null || this.description != null || this.category != null || this.tags != null); + } + public void computeNonce() throws DataException { if (this.arbitraryTransactionData == null) { throw new DataException("Arbitrary transaction data is required to compute nonce");