Skip to content

Commit 6aef1af

Browse files
authored
Merge pull request #14342 from JojoS62/fix-lwIP-add_dns_server
use calloc for new_interface_server
2 parents eec320c + 6934a46 commit 6aef1af

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

connectivity/lwipstack/lwip/src/core/lwip_dns.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,14 @@ static u16_t dns_txid;
184184
#define LWIP_DNS_ISMDNS_ARG(x)
185185
#endif
186186

187+
/** dns_server_interface structue
188+
used locally for multihoming systems. */
189+
struct dns_server_interface {
190+
char interface_name [INTERFACE_NAME_MAX_SIZE];
191+
ip_addr_t dns_servers[DNS_MAX_SERVERS];
192+
struct dns_server_interface *next;
193+
};
194+
187195
/** DNS query message structure.
188196
No packing needed: only used locally on the stack. */
189197
struct dns_query {
@@ -433,6 +441,9 @@ dns_add_interface_server(u8_t numdns, const char *interface_name, const ip_addr_
433441
// add new dns server to the list tail
434442
new_interface_server = mem_malloc(sizeof(struct dns_server_interface));
435443
snprintf(new_interface_server->interface_name, INTERFACE_NAME_MAX_SIZE, "%s",interface_name);
444+
for (u32_t i=0; i<DNS_MAX_SERVERS; i++) {
445+
ip_addr_set_zero(&new_interface_server->dns_servers[i]);
446+
}
436447
new_interface_server->dns_servers[numdns] = (*dnsserver);
437448
new_interface_server->next = NULL;
438449

connectivity/lwipstack/lwip/src/include/lwip/dns.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,6 @@
5050
extern "C" {
5151
#endif
5252

53-
struct dns_server_interface {
54-
char interface_name [INTERFACE_NAME_MAX_SIZE];
55-
ip_addr_t dns_servers[DNS_MAX_SERVERS];
56-
struct dns_server_interface *next;
57-
};
58-
5953
/** DNS timer period */
6054
#define DNS_TMR_INTERVAL 1000
6155

0 commit comments

Comments
 (0)