From 47ced492012aff358149c83ebdda4e9c5f9aacaa Mon Sep 17 00:00:00 2001 From: Gary Wicker <14828980+gkwicker@users.noreply.github.com> Date: Fri, 10 Jul 2020 15:36:31 -0700 Subject: [PATCH] Count only A records in DNS resolution logic (#135) --- FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_DNS.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_DNS.c b/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_DNS.c index 18fe02932a..039cd21d15 100644 --- a/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_DNS.c +++ b/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_DNS.c @@ -1181,8 +1181,9 @@ uint16_t usType = 0U; if( ( pxDNSMessageHeader->usFlags & dnsRX_FLAGS_MASK ) == dnsEXPECTED_RX_FLAGS ) { const uint16_t usCount = ( uint16_t ) ipconfigDNS_CACHE_ADDRESSES_PER_ENTRY; + uint16_t usNumARecordsStored = 0; - for( x = 0U; ( x < pxDNSMessageHeader->usAnswers ) && ( x < usCount ); x++ ) + for( x = 0U; ( x < pxDNSMessageHeader->usAnswers ) && ( usNumARecordsStored < usCount ); x++ ) { BaseType_t xDoAccept; @@ -1259,6 +1260,7 @@ uint16_t usType = 0U; if( xDoStore != pdFALSE ) { ( void ) prvProcessDNSCache( pcName, &ulIPAddress, pxDNSAnswerRecord->ulTTL, pdFALSE ); + usNumARecordsStored++; /* Track # of A records stored */ } /* Show what has happened. */