gbranden pushed a commit to branch master
in repository groff.
commit 205334d6e5458f2f51689e6c2ad6f101fc91a3e3
Author: G. Branden Robinson <[email protected]>
AuthorDate: Sun Sep 1 20:50:01 2024 -0500
[troff]: Fix assertion failure in `do` request.
* src/roff/troff/input.cpp (do_request): Fix assertion failure.
Validate presence of arguments before further operating.
Fixes:
$ echo '.do' | ./build/test-groff
troff: ../src/roff/troff/input.cpp:9050: request_or_macro*
lookup_request(symbol): Assertion `!nm.is_null()' failed.
.../groff: error: troff: Aborted (core dumped)
---
ChangeLog | 12 ++++++++++++
src/roff/troff/input.cpp | 6 ++++++
2 files changed, 18 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 6b5cf6b35..e6001ad3a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2024-09-01 G. Branden Robinson <[email protected]>
+
+ * src/roff/troff/input.cpp (do_request): Fix assertion failure.
+ Validate presence of arguments before further operating.
+
+ Fixes:
+
+ $ echo '.do' | ./build/test-groff
+ troff: ../src/roff/troff/input.cpp:9050: request_or_macro*
+ lookup_request(symbol): Assertion `!nm.is_null()' failed.
+ .../groff: error: troff: Aborted (core dumped)
+
2024-09-01 G. Branden Robinson <[email protected]>
* src/roff/troff/env.cpp (hyphenate): Explicitly compare
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index 63fe7e704..1e0447f3e 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -2901,6 +2901,12 @@ static void trapping_blank_line()
void do_request()
{
+ if (!has_arg()) {
+ warning(WARN_MISSING, "compatibility mode interpretation request"
+ " expects a request or macro as argument");
+ skip_line();
+ return;
+ }
assert(do_old_want_att_compat == -1);
do_old_want_att_compat = want_att_compat;
want_att_compat = false;
_______________________________________________
Groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit