diff options
author | Simon Kelley <simon@thekelleys.org.uk> | 2021-09-11 21:56:19 +0100 |
---|---|---|
committer | Simon Kelley <simon@thekelleys.org.uk> | 2021-09-11 21:57:30 +0100 |
commit | 51ffae4eabd4a0cb5ddb2cc025372457953beb22 (patch) | |
tree | b5b3a650f24b3eb6fc9bbd7be1910815dae5ea6f | |
parent | afe84f37f88dfe879c96a13ba43b05043c07610d (diff) | |
download | dnsmasq-51ffae4eabd4a0cb5ddb2cc025372457953beb22.tar.gz |
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|
-rw-r--r-- | src/cache.c | 3 |
1 files changed, 2 insertions, 1 deletions
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); |