Merge pull request #14342 from JojoS62/fix-lwIP-add_dns_server

use calloc for new_interface_server
pull/14423/head
Martin Kojtal 2021-03-12 08:44:50 +00:00 committed by GitHub
commit 6aef1af9e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 6 deletions

View File

@ -184,6 +184,14 @@ static u16_t dns_txid;
#define LWIP_DNS_ISMDNS_ARG(x)
#endif
/** dns_server_interface structue
used locally for multihoming systems. */
struct dns_server_interface {
char interface_name [INTERFACE_NAME_MAX_SIZE];
ip_addr_t dns_servers[DNS_MAX_SERVERS];
struct dns_server_interface *next;
};
/** DNS query message structure.
No packing needed: only used locally on the stack. */
struct dns_query {
@ -433,6 +441,9 @@ dns_add_interface_server(u8_t numdns, const char *interface_name, const ip_addr_
// add new dns server to the list tail
new_interface_server = mem_malloc(sizeof(struct dns_server_interface));
snprintf(new_interface_server->interface_name, INTERFACE_NAME_MAX_SIZE, "%s",interface_name);
for (u32_t i=0; i<DNS_MAX_SERVERS; i++) {
ip_addr_set_zero(&new_interface_server->dns_servers[i]);
}
new_interface_server->dns_servers[numdns] = (*dnsserver);
new_interface_server->next = NULL;

View File

@ -50,12 +50,6 @@
extern "C" {
#endif
struct dns_server_interface {
char interface_name [INTERFACE_NAME_MAX_SIZE];
ip_addr_t dns_servers[DNS_MAX_SERVERS];
struct dns_server_interface *next;
};
/** DNS timer period */
#define DNS_TMR_INTERVAL 1000