/* If this fails, please report to lwip-devel! :-) */
LWIP_ASSERT("total_size <= NETDB_ELEM_SIZE: please report this!",
total_size <= NETDB_ELEM_SIZE);
- ai = memp_malloc(MEMP_NETDB);
+ ai = (struct addrinfo *)memp_malloc(MEMP_NETDB);
if (ai == NULL) {
goto memerr;
}
{
ip_addr_t dnsserver;
- dns_payload = LWIP_MEM_ALIGN(dns_payload_buffer);
+ dns_payload = (u8_t *)LWIP_MEM_ALIGN(dns_payload_buffer);
/* initialize default DNS server address */
DNS_SERVER_ADDRESS(&dnsserver);
u8_t i;
u8_t lseq, lseqi;
struct dns_table_entry *pEntry = NULL;
+ size_t namelen;
/* search an unused entry, or the oldest one */
lseq = lseqi = 0;
pEntry->seqno = dns_seqno++;
pEntry->found = found;
pEntry->arg = callback_arg;
- strcpy(pEntry->name, name);
+ namelen = LWIP_MIN(strlen(name), DNS_MAX_NAME_LENGTH-1);
+ MEMCPY(pEntry->name, name, namelen);
+ pEntry->name[namelen] = 0;
/* force to send query without waiting timer */
dns_check_entry(i);