From 7b1c012f806f054963cd8aa6e726e751f884ce94 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Wed, 5 Jul 2023 21:10:47 +0200 Subject: [PATCH] Fix double lookup in `to()` Ported from 23b01a89b1e1faf2fdee4b7287e769676b21852b --- CHANGELOG.md | 1 + src/ArduinoJson/Variant/VariantImpl.hpp | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e5dfcb9a..d2eaa4dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ HEAD ---- * Fix compatibility with the Blynk libary (issue #1914) +* Fix double lookup in `to()` v6.21.2 (2023-04-12) ------- diff --git a/src/ArduinoJson/Variant/VariantImpl.hpp b/src/ArduinoJson/Variant/VariantImpl.hpp index 66a473bb..c122a2f4 100644 --- a/src/ArduinoJson/Variant/VariantImpl.hpp +++ b/src/ArduinoJson/Variant/VariantImpl.hpp @@ -138,8 +138,9 @@ template template typename enable_if::value, JsonVariant>::type VariantRefBase::to() const { - variantSetNull(getOrCreateData()); - return *this; + auto data = getOrCreateData(); + variantSetNull(data); + return JsonVariant(getPool(), data); } template