From 305d5357e149805c484faaab1b001c14b261d986 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Tue, 24 Jun 2025 17:45:48 +0200 Subject: [PATCH] Fix JsonArrayTests --- src/ArduinoJson/Array/ArrayImpl.hpp | 2 ++ src/ArduinoJson/Json/JsonDeserializer.hpp | 4 ++-- src/ArduinoJson/Variant/VariantData.hpp | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/ArduinoJson/Array/ArrayImpl.hpp b/src/ArduinoJson/Array/ArrayImpl.hpp index d88249aa..47467e04 100644 --- a/src/ArduinoJson/Array/ArrayImpl.hpp +++ b/src/ArduinoJson/Array/ArrayImpl.hpp @@ -55,6 +55,8 @@ inline void ArrayImpl::removeElement(size_t index) { template inline bool ArrayImpl::addValue(const T& value) { + if (!data_) + return false; ARDUINOJSON_ASSERT(resources_ != nullptr); auto slot = resources_->allocVariant(); if (!slot) diff --git a/src/ArduinoJson/Json/JsonDeserializer.hpp b/src/ArduinoJson/Json/JsonDeserializer.hpp index eba02c42..b70bf4ce 100644 --- a/src/ArduinoJson/Json/JsonDeserializer.hpp +++ b/src/ArduinoJson/Json/JsonDeserializer.hpp @@ -147,7 +147,7 @@ class JsonDeserializer { template DeserializationError::Code parseArray( - ArrayImpl& array, TFilter filter, + ArrayImpl array, TFilter filter, DeserializationOption::NestingLimit nestingLimit) { DeserializationError::Code err; @@ -233,7 +233,7 @@ class JsonDeserializer { template DeserializationError::Code parseObject( - ObjectImpl& object, TFilter filter, + ObjectImpl object, TFilter filter, DeserializationOption::NestingLimit nestingLimit) { DeserializationError::Code err; diff --git a/src/ArduinoJson/Variant/VariantData.hpp b/src/ArduinoJson/Variant/VariantData.hpp index 055239c4..f2cb06b4 100644 --- a/src/ArduinoJson/Variant/VariantData.hpp +++ b/src/ArduinoJson/Variant/VariantData.hpp @@ -336,8 +336,8 @@ class VariantData { } template - static VariantData* getMember(const VariantData* var, TAdaptedString key, - const ResourceManager* resources) { + static VariantData* getMember(VariantData* var, TAdaptedString key, + ResourceManager* resources) { if (!var) return 0; return var->getMember(key, resources);