]> git.ipfire.org Git - thirdparty/pdns.git/commit
dnsdist: Fix a crash when processing timeouts for incoming DoH queries 15480/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 28 Apr 2025 10:41:00 +0000 (12:41 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 28 Apr 2025 10:41:00 +0000 (12:41 +0200)
commit954eb1921699147b16f8bcd08029e37da3e789b9
tree2daecefa2c44f29348da9665f06a62e53a593b2a
parent9647835dc1003f224b8fedd7278402408750e332
dnsdist: Fix a crash when processing timeouts for incoming DoH queries

This commit fixes a double-free triggered by an exception being raised
while we are processing a timeout for an incoming DoH query. The exception
bypasses the call releasing the smart pointer, and thus the destructor
is called when we reach the end of the function since we own the smart
pointer, but unfortunately it has already been destroyed by the function
that raised the exception. The fix is to release the pointer first,
then call the function, so even if an exception is raised we no longer
own the pointer, and it's clear that the function has taken ownership of it.
pdns/dnsdistdist/dnsdist-doh-common.hh