git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
DMARC: fix use-after-free in dmarc_dns_lookup
[exim.git]
/
src
/
src
/
dmarc.c
diff --git
a/src/src/dmarc.c
b/src/src/dmarc.c
index ad0c26c91829a40d2c7cd3480d88a3b89b72fb2b..53c2752ac6cd347183847ed7032d39f7e4470aa5 100644
(file)
--- a/
src/src/dmarc.c
+++ b/
src/src/dmarc.c
@@
-230,8
+230,9
@@
if (rc == DNS_SUCCEED)
rr = dns_next_rr(dnsa, &dnss, RESET_NEXT))
if (rr->type == T_TXT && rr->size > 3)
{
rr = dns_next_rr(dnsa, &dnss, RESET_NEXT))
if (rr->type == T_TXT && rr->size > 3)
{
+ uschar *record = string_copyn_taint(US rr->data, rr->size, GET_TAINTED);
store_free_dns_answer(dnsa);
store_free_dns_answer(dnsa);
- return
string_copyn_taint(US rr->data, rr->size, GET_TAINTED)
;
+ return
record
;
}
store_free_dns_answer(dnsa);
return NULL;
}
store_free_dns_answer(dnsa);
return NULL;