Merge pull request #5788 from jmacxx/fix_refresh_ttl_exception

Gracefully handle null data in refresh offer message and log error
This commit is contained in:
Christoph Atteneder 2021-11-04 10:06:44 +01:00 committed by GitHub
commit 2d3cf388eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -859,6 +859,7 @@ public class P2PDataStorage implements MessageListener, ConnectionListener, Pers
public boolean refreshTTL(RefreshOfferMessage refreshTTLMessage,
@Nullable NodeAddress sender) {
try {
ByteArray hashOfPayload = new ByteArray(refreshTTLMessage.getHashOfPayload());
ProtectedStorageEntry storedData = map.get(hashOfPayload);
@ -895,6 +896,11 @@ public class P2PDataStorage implements MessageListener, ConnectionListener, Pers
// Always broadcast refreshes
broadcaster.broadcast(refreshTTLMessage, sender);
} catch (IllegalArgumentException e) {
log.error("refreshTTL failed, missing data: {}", e.toString());
e.printStackTrace();
return false;
}
return true;
}