From 879258d62b3a5789eb0dbbbaf406c7df7d7ef6de Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 10 Nov 2023 08:46:17 -0600 Subject: [PATCH] fix: clang-analyzer-core.NullDereference warning in tr_variant_serde::parse_json() (#6236) --- libtransmission/variant-json.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libtransmission/variant-json.cc b/libtransmission/variant-json.cc index effe3a701..114c293a1 100644 --- a/libtransmission/variant-json.cc +++ b/libtransmission/variant-json.cc @@ -222,10 +222,13 @@ std::optional tr_variant_serde::parse_json(std::string_view input) { auto* const begin = std::data(input); TR_ASSERT(begin != nullptr); // RapidJSON will dereference a nullptr if this is false + if (begin == nullptr) + { + return {}; + } + auto const size = std::size(input); - auto top = tr_variant{}; - auto handler = parse_helpers::json_to_variant_handler{ &top }; auto ms = rapidjson::MemoryStream{ begin, size }; auto eis = rapidjson::AutoUTFInputStream{ ms };