From 51ffae4eabd4a0cb5ddb2cc025372457953beb22 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 11 Sep 2021 21:56:19 +0100 Subject: Fix coverity detected issues in cache.c Error: UNINIT (CWE-457): [#def27] dnsmasq-2.86test7/src/cache.c:1193: var_decl: Declaring variable "lrec" without initializer. dnsmasq-2.86test7/src/cache.c:1315: uninit_use_in_call: Using uninitialized value "lrec.ttd" when calling "make_non_terminals". # 1313| { # 1314| lrec.name.namep = txt->name; # 1315|-> make_non_terminals(&lrec); # 1316| } # 1317| Error: CLANG_WARNING: [#def29] dnsmasq-2.86test7/src/cache.c:1552:15: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 1550| { # 1551| crecp->flags = (source->flags | F_NAMEP) & ~(F_IPV4 | F_IPV6 | F_CNAME | F_SRV | F_DNSKEY | F_DS | F_REVERSE); # 1552|-> crecp->ttd = source->ttd; # 1553| crecp->name.namep = name; # 1554| --- src/cache.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cache.c b/src/cache.c index 8f97947..568cbec 100644 --- a/src/cache.c +++ b/src/cache.c @@ -1597,7 +1597,8 @@ static void make_non_terminals(struct crec *source) if (crecp) { crecp->flags = (source->flags | F_NAMEP) & ~(F_IPV4 | F_IPV6 | F_CNAME | F_SRV | F_DNSKEY | F_DS | F_REVERSE); - crecp->ttd = source->ttd; + if (!(crecp->flags & F_IMMORTAL)) + crecp->ttd = source->ttd; crecp->name.namep = name; cache_hash(crecp); -- cgit v1.2.1