summaryrefslogtreecommitdiff
path: root/src/resolve/resolved-dns-query.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2021-05-19 16:35:16 +0200
committerGitHub <noreply@github.com>2021-05-19 16:35:16 +0200
commit871a3a33bbb3458c97e47fc828243082014fc583 (patch)
treebc7bac23563dde92937963fe23e0be8bf07fc819 /src/resolve/resolved-dns-query.c
parent6db7b533c6dd79387376953aa9ee749552a99b3d (diff)
parent6f1d18ae9319bad3d13b90caa6dc0b34ea0a1b10 (diff)
downloadsystemd-871a3a33bbb3458c97e47fc828243082014fc583.tar.gz
Merge pull request #19608 from keszybz/resolved-pahole
Pahole optimization for resolved's DnsQuery
Diffstat (limited to 'src/resolve/resolved-dns-query.c')
-rw-r--r--src/resolve/resolved-dns-query.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/resolve/resolved-dns-query.c b/src/resolve/resolved-dns-query.c
index 2a806e48d3..2a048f1070 100644
--- a/src/resolve/resolved-dns-query.c
+++ b/src/resolve/resolved-dns-query.c
@@ -12,6 +12,10 @@
#define QUERIES_MAX 2048
#define AUXILIARY_QUERIES_MAX 64
+#define CNAME_REDIRECTS_MAX 16
+
+assert_cc(AUXILIARY_QUERIES_MAX < UINT8_MAX);
+assert_cc(CNAME_REDIRECTS_MAX < UINT8_MAX);
static int dns_query_candidate_new(DnsQueryCandidate **ret, DnsQuery *q, DnsScope *s) {
DnsQueryCandidate *c;
@@ -1004,9 +1008,9 @@ static int dns_query_cname_redirect(DnsQuery *q, const DnsResourceRecord *cname)
assert(q);
- q->n_cname_redirects++;
- if (q->n_cname_redirects > CNAME_REDIRECT_MAX)
+ if (q->n_cname_redirects >= CNAME_REDIRECTS_MAX)
return -ELOOP;
+ q->n_cname_redirects++;
r = dns_question_cname_redirect(q->question_idna, cname, &nq_idna);
if (r < 0)