Skip to content

Commit e22a054

Browse files
committed
Fixes DNS Server Memory Leak when deleted
1 parent ce2cd11 commit e22a054

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

Diff for: libraries/DNSServer/src/DNSServer.cpp

+16
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,22 @@ DNSServer::DNSServer()
2020
_port = 0;
2121
}
2222

23+
DNSServer::~DNSServer()
24+
{
25+
if (_dnsHeader) {
26+
free(_dnsHeader);
27+
_dnsHeader = NULL;
28+
}
29+
if (_dnsQuestion) {
30+
free(_dnsQuestion);
31+
_dnsQuestion = NULL;
32+
}
33+
if (_buffer) {
34+
free(_buffer);
35+
_buffer = NULL;
36+
}
37+
}
38+
2339
bool DNSServer::start(const uint16_t &port, const String &domainName,
2440
const IPAddress &resolvedIP)
2541
{

Diff for: libraries/DNSServer/src/DNSServer.h

+1
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ class DNSServer
7676
{
7777
public:
7878
DNSServer();
79+
~DNSServer();
7980
void processNextRequest();
8081
void setErrorReplyCode(const DNSReplyCode &replyCode);
8182
void setTTL(const uint32_t &ttl);

0 commit comments

Comments
 (0)