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

Reply via email to