]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_resolver_unbound: Test for NULL ub_result in unbound_resolver_callback
authorGeorge Joseph <gjoseph@sangoma.com>
Mon, 12 Aug 2024 17:58:12 +0000 (11:58 -0600)
committerMike Bradeen <mbradeen@sangoma.com>
Thu, 5 Sep 2024 16:40:18 +0000 (10:40 -0600)
commit4f01669c7c41c9184f3cce9a3cf1b2ebf6201742
treecf6e9e3f172b20b182be8ed5fc2a7720dfa703bc
parent30c7925a0a4aa4829199a70758b97f49b2608e09
res_resolver_unbound: Test for NULL ub_result in unbound_resolver_callback

The ub_result pointer passed to unbound_resolver_callback by
libunbound can be NULL if the query was for something malformed
like `.1` or `[.1]`.  If it is, we now set a 'ns_r_formerr' result
and return instead of crashing with a SEGV.  This causes pjproject
to simply cancel the transaction with a "No answer record in the DNS
response" error.  The existing "off nominal" unit test was also
updated to check this condition.

Although not necessary for this fix, we also made
ast_dns_resolver_completed() tolerant of a NULL result.

Resolves: GHSA-v428-g3cw-7hv9
main/dns_core.c
res/res_resolver_unbound.c