diff --git a/libraries/DNSServer/src/DNSServer.cpp b/libraries/DNSServer/src/DNSServer.cpp index a7f0d15eb62..3aa7af1631a 100644 --- a/libraries/DNSServer/src/DNSServer.cpp +++ b/libraries/DNSServer/src/DNSServer.cpp @@ -20,6 +20,22 @@ DNSServer::DNSServer() _port = 0; } +DNSServer::~DNSServer() +{ + if (_dnsHeader) { + free(_dnsHeader); + _dnsHeader = NULL; + } + if (_dnsQuestion) { + free(_dnsQuestion); + _dnsQuestion = NULL; + } + if (_buffer) { + free(_buffer); + _buffer = NULL; + } +} + bool DNSServer::start(const uint16_t &port, const String &domainName, const IPAddress &resolvedIP) { diff --git a/libraries/DNSServer/src/DNSServer.h b/libraries/DNSServer/src/DNSServer.h index f237a4e358d..1250f5ce960 100644 --- a/libraries/DNSServer/src/DNSServer.h +++ b/libraries/DNSServer/src/DNSServer.h @@ -76,6 +76,7 @@ class DNSServer { public: DNSServer(); + ~DNSServer(); void processNextRequest(); void setErrorReplyCode(const DNSReplyCode &replyCode); void setTTL(const uint32_t &ttl);