While doing delayed expansion of escape sequences in macro arguments,
authorschwarze <schwarze@openbsd.org>
Sun, 22 Oct 2023 16:01:58 +0000 (16:01 +0000)
committerschwarze <schwarze@openbsd.org>
Sun, 22 Oct 2023 16:01:58 +0000 (16:01 +0000)
commit29079a11d063763a0a8ed318a738b88f64fd3d44
tree7f09902953b1d1e109414ed3779ad0c7b9d242c6
parent92232a8c46189ba135e55a6830876e8001dff539
While doing delayed expansion of escape sequences in macro arguments,
correctly check for failure of the in-place expansion function.
If an argument not only does recursive delayed expansion
but infinitely recursive delayed expansion, this bug could
result in an ESCAPE_EXPAND assertion failure.

Thanks to Eric van Gyzen <vangyzen at FreeBSD> for finding this bug
by inspecting FreeBSD source code.
usr.bin/mandoc/roff.c