Update of bug #68560 (group groff):
Status: In Progress => Fixed
Open/Closed: Open => Closed
_______________________________________________________
Follow-up Comment #3:
commit 3286e0681805eca77ac7518c8cdff0beb54eabb6
Author: G. Branden Robinson <[email protected]>
Date: Fri Jul 24 15:51:10 2026 -0500
[grops]: Fix Savannah #68560.
* src/devices/grops/ps.cpp (ps_printer::do_import): Revise to avoid
overreading heap by one byte with certain ill-formed arguments to the
`import` device extension command. Recast error diagnostic to report
the full contents of the invalid argument and characterize it simply
as "invalid" due to non-numeric contents. Also clarify the language
of these diagnostics. The grammar of "trout"/"grout" is such that the
device control command reads, to the end of the line, one big
"argument" containing space-delimited parameters.
Fixes <https://savannah.gnu.org/bugs/?68560>. Thanks to Bruno Haible
for the concurrent discovery. Problem introduced by me in commit
9f050b7ed7, 7 May.
With this commit, for me on my system (GNU/Linux amd64 using GCC
10.2.1), groff now builds and runs its test suite successfully with the
following compiler options.
-fsanitize=address
-fsanitize-undefined-trap-on-error
-fsanitize=signed-integer-overflow
-fsanitize=undefined
However we can't employ the full power of ASAN yet. I'm using
`ASAN_OPTIONS="detect_leaks=0 abort_on_error=1
allocator_may_return_null=1 alloc_dealloc_mismatch=0"`.
I'm informed that Clang's ASAN is more sensitive. However I'm unable to
use Clang 11.0.1 to build groff in this same environment because it
doesn't get along well with Gnulib's <stdckdint.h> implementation and
our attempt to hew to ISO C++98; it blows up complaining that the `long
long` data type demands C++11.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?68560>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
