From 0e6cfb460de984d4a24e997f0e65dbdc50aef3dc Mon Sep 17 00:00:00 2001 From: Chris Eager Date: Fri, 30 Apr 2021 16:11:08 -0500 Subject: [PATCH] Fix potential NullPointerException in RateLimiter --- .../textsecuregcm/limits/RateLimiter.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/limits/RateLimiter.java b/service/src/main/java/org/whispersystems/textsecuregcm/limits/RateLimiter.java index dfa01e7e1..0b5efaec0 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/limits/RateLimiter.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/limits/RateLimiter.java @@ -132,14 +132,17 @@ public class RateLimiter { logger.warn("Deserialization error", e); } - try { - final String serialized = secondaryCacheCluster.withCluster(connection -> connection.sync().get(getBucketName(key))); + if (secondaryCacheCluster != null) { + try { + final String serialized = secondaryCacheCluster + .withCluster(connection -> connection.sync().get(getBucketName(key))); - if (serialized != null) { - return LeakyBucket.fromSerialized(mapper, serialized); + if (serialized != null) { + return LeakyBucket.fromSerialized(mapper, serialized); + } + } catch (IOException e) { + logger.warn("Deserialization error", e); } - } catch (IOException e) { - logger.warn("Deserialization error", e); } return new LeakyBucket(bucketSize, leakRatePerMillis);