A pointer to search_buf is accessed by search_domain outside of the
if branch which defines search_buf. The compiler could already reuse
this memory.
Coverity: #
1445747
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
struct in6_addr dns_pref, *dns_addr = NULL;
size_t dns_cnt = 0, search_len = iface->search_len;
uint8_t *search_domain = iface->search;
struct in6_addr dns_pref, *dns_addr = NULL;
size_t dns_cnt = 0, search_len = iface->search_len;
uint8_t *search_domain = iface->search;
+ uint8_t search_buf[256];
/* DNS Recursive DNS */
if (iface->dns_cnt > 0) {
/* DNS Recursive DNS */
if (iface->dns_cnt > 0) {
/* DNS Search options */
if (!search_domain && !res_init() && _res.dnsrch[0] && _res.dnsrch[0][0]) {
/* DNS Search options */
if (!search_domain && !res_init() && _res.dnsrch[0] && _res.dnsrch[0][0]) {
- uint8_t search_buf[256];
-
int len = dn_comp(_res.dnsrch[0], search_buf,
sizeof(search_buf), NULL, NULL);
if (len > 0) {
int len = dn_comp(_res.dnsrch[0], search_buf,
sizeof(search_buf), NULL, NULL);
if (len > 0) {