gbranden pushed a commit to branch master
in repository groff.
commit 321de21e36c226b4efcd38cbdbe3debf372e6c7b
Author: G. Branden Robinson <[email protected]>
AuthorDate: Thu Apr 3 19:56:37 2025 -0500
[troff]: Fix recent infloop in `pm` arg handling.
* src/roff/troff/input.cpp (print_macros): Fix infloop when `pm` is
given an invalid argument. Continues commit 52f93e69dd, 20 March.
---
ChangeLog | 6 ++++++
src/roff/troff/input.cpp | 3 +++
2 files changed, 9 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 4488ccb20..68b053ca4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2025-04-03 G. Branden Robinson <[email protected]>
+
+ * src/roff/troff/input.cpp (print_macros): Fix infloop when
+ `pm` is given an invalid argument. Continues commit 52f93e69dd,
+ 20 March.
+
2025-04-03 G. Branden Robinson <[email protected]>
* src/roff/troff/input.cpp (file_iterator::set_location)
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index 5b27ce7c4..5de7c7859 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -3787,6 +3787,9 @@ void print_macros()
if (has_arg()) {
do {
s = get_name();
+ if (s.is_null())
+ // get_name() already threw an error.
+ break;
rm = static_cast<request_or_macro *>(request_dictionary.lookup(s));
if (rm != 0 /* nullptr */)
m = rm->to_macro();
_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit