Преглед изворни кода

Fix double call to `size()` in `serializeMsgPack()`

Benoit Blanchon пре 2 година
родитељ
комит
afbcc2106e
2 измењених фајлова са 2 додато и 1 уклоњено
  1. 1 0
      CHANGELOG.md
  2. 1 1
      src/ArduinoJson/MsgPack/MsgPackSerializer.hpp

+ 1 - 0
CHANGELOG.md

@@ -6,6 +6,7 @@ HEAD
 
 * Fix compatibility with the Blynk libary (issue #1914)
 * Fix double lookup in `to<JsonVariant>()`
+* Fix double call to `size()` in `serializeMsgPack()`
 
 v6.21.2 (2023-04-12)
 -------

+ 1 - 1
src/ArduinoJson/MsgPack/MsgPackSerializer.hpp

@@ -47,7 +47,7 @@ class MsgPackSerializer : public Visitor<size_t> {
   size_t visitArray(const CollectionData& array) {
     size_t n = array.size();
     if (n < 0x10) {
-      writeByte(uint8_t(0x90 + array.size()));
+      writeByte(uint8_t(0x90 + n));
     } else if (n < 0x10000) {
       writeByte(0xDC);
       writeInteger(uint16_t(n));