[PATCH v2] dnsproxy: Fix cached ttl update
Brian Fukano <[email protected]>
| Newsgroups | dev.linux.lists.connman |
|---|---|
| Message-ID | <[email protected]> |
This bug was exposed after fixing the signedness comparison warnings
found in dnsproxy.c update_cached_ttl() consistently comes up two
bytes short when processing the last record.
---
src/dnsproxy.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/dnsproxy.c b/src/dnsproxy.c
index d4242560..23015f74 100644
--- a/src/dnsproxy.c
+++ b/src/dnsproxy.c
@@ -507,10 +507,8 @@ static void send_cached_response(int sk, const unsigned char *ptr, size_t len,
/* if this is a negative reply, we are authoritative */
if (answers == 0)
hdr->aa = 1;
- else {
- const int adj_len = len - 2;
- update_cached_ttl((unsigned char *)hdr, adj_len, ttl);
- }
+ else
+ update_cached_ttl((unsigned char *)hdr, dns_len, ttl);
debug("sk %d id 0x%04x answers %d ptr %p length %zd dns %zd",
sk, hdr->id, answers, ptr, len, dns_len);
--
2.34.1