diff --git a/src/core/Utils/ObjectWriter.h b/src/core/Utils/ObjectWriter.h index dbf48db2..982f41b6 100644 --- a/src/core/Utils/ObjectWriter.h +++ b/src/core/Utils/ObjectWriter.h @@ -278,7 +278,9 @@ class BaseObjects : public Printable public: BaseObjects() {} - ~BaseObjects() { clear(); } + // Don't clear() here: the derived class's Strings are already destroyed + // at this point and remove() would write into freed memory. + ~BaseObjects() {} void init(String *buffers, size_t size) { this->buffers = buffers;