From 200dc1294c7faa914ef3b16ac5fd70ae13898b8b Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Wed, 17 Dec 2014 19:23:13 +0100 Subject: [PATCH] Peer: Fix some more crashes that can occur when operating without a blockchain object --- core/src/main/java/org/bitcoinj/core/Peer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/bitcoinj/core/Peer.java b/core/src/main/java/org/bitcoinj/core/Peer.java index fb3846e7..dffcda90 100644 --- a/core/src/main/java/org/bitcoinj/core/Peer.java +++ b/core/src/main/java/org/bitcoinj/core/Peer.java @@ -89,7 +89,7 @@ public class Peer extends PeerSocketHandler { private final AtomicInteger blocksAnnounced = new AtomicInteger(); // A class that tracks recent transactions that have been broadcast across the network, counts how many // peers announced them and updates the transaction confidence data. It is passed to each Peer. - private final TxConfidenceTable confidenceTable; + @Nullable private final TxConfidenceTable confidenceTable; // Each wallet added to the peer will be notified of downloaded transaction data. private final CopyOnWriteArrayList wallets; // A time before which we only download block headers, after that point we download block bodies. @@ -203,7 +203,7 @@ public class Peer extends PeerSocketHandler { super(params, remoteAddress); this.params = Preconditions.checkNotNull(params); this.versionMessage = Preconditions.checkNotNull(ver); - this.vDownloadTxDependencies = downloadTxDependencies; + this.vDownloadTxDependencies = chain != null && downloadTxDependencies; this.blockChain = chain; // Allowed to be null. this.vDownloadData = chain != null; this.getDataFutures = new CopyOnWriteArrayList(); @@ -213,7 +213,7 @@ public class Peer extends PeerSocketHandler { this.isAcked = false; this.pendingPings = new CopyOnWriteArrayList(); this.wallets = new CopyOnWriteArrayList(); - this.confidenceTable = chain.getContext().getConfidenceTable(); + this.confidenceTable = chain != null ? chain.getContext().getConfidenceTable() : null; } /**