]> 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)
committerGeorge Joseph <gjoseph@sangoma.com>
Thu, 5 Sep 2024 16:32:25 +0000 (16:32 +0000)
commitd2d0c507ffd68f40e3eb0875854a54a7a233188e
tree2cd5e71172db1bc999a7f05824d2e1d125961730
parentdc97763979ba78ae1cd3f38278447dd1dab6d5f8
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