]> 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:03 +0000 (10:40 -0600)
commita15050650abf09c10a3c135fab148220cd41d3a0
treec81e2525ecd5a47a1c4fe7afab4ed008e5c98780
parent81bfe0a62b4d95d58e543eea09d9d549774c19bd
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