[PATCH] support: exit on consistency check failure in resolv_response_add_name

Collin Funk collin.funk1@gmail.com
Fri Nov 7 01:18:21 GMT 2025


Florian Weimer <fweimer@redhat.com> writes:

> Using TEST_VERIFY (crname_target != crname) instructs some analysis
> tools that crname_target == crname might hold.  Under this assumption,
> they report a use-after-free for crname_target->offset below, caused
> by the previous free (crname).
>
> ---
>  support/resolv_test.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/support/resolv_test.c b/support/resolv_test.c
> index ab37d3d58c..29e59da958 100644
> --- a/support/resolv_test.c
> +++ b/support/resolv_test.c
> @@ -326,7 +326,7 @@ resolv_response_add_name (struct resolv_response_builder *b,
>                crname_target = *ptr;
>              else
>                crname_target = NULL;
> -            TEST_VERIFY (crname_target != crname);
> +            TEST_VERIFY_EXIT (crname_target != crname);
>              /* Not added to the tree.  */
>              free (crname);
>            }
>
> base-commit: a61332f0869885b3f2fd3266ec0f28a2ed13ff75

Makes sense.

Reviewed-by: Collin Funk <collin.funk1@gmail.com>

Thanks,
Collin


More information about the Libc-alpha mailing list