X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/a9ac2d7fc219e41a353abf1f599258b9b9d21b7e..fbe8578a39505c146223ffcf2c63a5ba8bb0d9a4:/src/src/dkim.c diff --git a/src/src/dkim.c b/src/src/dkim.c index 87c9c9197..63b0ba62c 100644 --- a/src/src/dkim.c +++ b/src/src/dkim.c @@ -54,10 +54,7 @@ gstring * g = string_get_tainted(256, TRUE); lookup_dnssec_authenticated = NULL; if (dns_lookup(dnsa, name, T_TXT, NULL) != DNS_SUCCEED) - { - store_free_dns_answer(dnsa); - return NULL; /*XXX better error detail? logging? */ - } + goto bad; /* Search for TXT record */ @@ -65,12 +62,8 @@ for (dns_record * rr = dns_next_rr(dnsa, &dnss, RESET_ANSWERS); rr; rr = dns_next_rr(dnsa, &dnss, RESET_NEXT)) if (rr->type == T_TXT) - { - int rr_offset = 0; - - /* Copy record content to the answer buffer */ - - while (rr_offset < rr->size) + { /* Copy record content to the answer buffer */ + for (int rr_offset = 0; rr_offset < rr->size; ) { uschar len = rr->data[rr_offset++]; @@ -81,7 +74,7 @@ for (dns_record * rr = dns_next_rr(dnsa, &dnss, RESET_ANSWERS); rr_offset += len; } - /* check if this looks like a DKIM record */ + /* Check if this looks like a DKIM record */ if (Ustrncmp(g->s, "v=", 2) != 0 || strncasecmp(CS g->s, "v=dkim", 6) == 0) { store_free_dns_answer(dnsa); @@ -89,7 +82,7 @@ for (dns_record * rr = dns_next_rr(dnsa, &dnss, RESET_ANSWERS); return string_from_gstring(g); } - if (g) g->ptr = 0; /* overwrite previous record */ + g->ptr = 0; /* overwrite previous record */ } bad: