From 0ea876485813d2501d92fb2931432f6594215ce0 Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Fri, 26 Jul 2024 14:32:43 +0300 Subject: [PATCH] Fixed - IndexInfoDecoder may throw NPE --- .../protocol/decoder/IndexInfoDecoder.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/redisson/src/main/java/org/redisson/client/protocol/decoder/IndexInfoDecoder.java b/redisson/src/main/java/org/redisson/client/protocol/decoder/IndexInfoDecoder.java index 48acfd54c..99b8fdc4e 100644 --- a/redisson/src/main/java/org/redisson/client/protocol/decoder/IndexInfoDecoder.java +++ b/redisson/src/main/java/org/redisson/client/protocol/decoder/IndexInfoDecoder.java @@ -76,20 +76,22 @@ public class IndexInfoDecoder implements MultiDecoder { } private Long toLong(Map result, String prop) { - if (result.get(prop).toString().contains("nan")) { + Object val = result.getOrDefault(prop, "nan"); + if (val.toString().contains("nan")) { return 0L; } - if (result.get(prop) instanceof Double) { - Double d = (Double) result.get(prop); + if (val instanceof Double) { + Double d = (Double) val; return d.longValue(); } - return Long.valueOf(result.get(prop).toString()); + return Long.valueOf(val.toString()); } - + private Double toDouble(Map result, String prop) { - if (result.get(prop).toString().contains("nan")) { + Object val = result.getOrDefault(prop, "nan"); + if (val.toString().contains("nan")) { return 0D; } - return Double.valueOf(result.get(prop).toString()); + return Double.valueOf(val.toString()); } }