bind9/libtool.m4
Diego Fronza 79c62017eb Properly handling dns_message_t shared references
This commit fix the problems that arose when moving the dns_message_t
object from fetchctx_t to the query structure.

Since the lifetime of query objects are different than that of a
fetchctx and the dns_message_t object held by the query may be being
used by some external module, e.g. validator, even after the query may
have been destroyed, propery handling of the references to the message
were added in this commit to avoid accessing an already destroyed
object.

Specifically, in resquery_response(), a reference to the message is
attached at the beginning of the function and detached at the end, since
a possible call to fctx_cancelquery() would release the dns_message_t
object, and in the next lines of code a call to add_bad() would require
a valid pointer to the same object.

In valcreate() a new reference is attached to the message object, this
ensures that if the corresponding query object is destroyed before the
validator attempts to access it, no invalid pointer access occurs.

In validated() we have to attach a new reference to the message, since
we destroy the validator object at the beginning of the function, and we
need access to the message in the next lines of the same function.
2020-09-30 14:04:04 +02:00
..
ax_restore_flags.m4 Move the ax_{save,restore}_flags.m4 to libtool.m4 folder 2019-07-09 13:54:31 +02:00
ax_save_flags.m4 Move the ax_{save,restore}_flags.m4 to libtool.m4 folder 2019-07-09 13:54:31 +02:00
compat.m4 Add PKG_CHECK_VAR and AS_VAR_COPY compat macros (Courtesy of ycflash) 2019-08-08 14:58:03 +02:00
libtool.m4 Properly handling dns_message_t shared references 2020-09-30 14:04:04 +02:00
ltoptions.m4 Update libtool files to 2.4.6 2018-03-19 13:03:56 +11:00
ltsugar.m4 Rename configure.in to configure.ac 2018-10-23 10:00:42 +02:00
ltversion.m4 Update libtool files to 2.4.6 2018-03-19 13:03:56 +11:00
lt~obsolete.m4 Rename configure.in to configure.ac 2018-10-23 10:00:42 +02:00