gbranden pushed a commit to branch master
in repository groff.

commit c6b2adc5de0f9eae3d04aa553c22a35d37529575
Author: G. Branden Robinson <[email protected]>
AuthorDate: Sat Dec 6 05:48:43 2025 -0600

    [troff]: Fix assertion failure.
    
    * src/roff/troff/reg.cpp (dump_register): Fix assertion failure.  Some
      string-valued registers, like `.z` and the new `.itm`, can be empty.
    
    Follows up on commit 13c19f1e08, 24 November.
    
    Fixes:
    $ echo '.pnr .itc .itm' | ~/groff-HEAD/bin/groff
    .itc    0       0
    .itm    troff: ../src/roff/troff/reg.cpp:557: void dump_register(symbol*, 
reg*): Assertion `s != 0' failed.
    /.../groff-HEAD/bin/groff: error: troff: Aborted (core dumped)
---
 ChangeLog              | 6 ++++++
 src/roff/troff/reg.cpp | 5 +++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b816628ef..fadc23636 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2025-12-06  G. Branden Robinson <[email protected]>
+
+       * src/roff/troff/reg.cpp (dump_register): Fix assertion failure.
+       Some string-valued registers, like `.z` and the new `.itm`, can
+       be empty.
+
 2025-12-06  G. Branden Robinson <[email protected]>
 
        * src/roff/troff/input.cpp (print_stream_request): Tweak JSON
diff --git a/src/roff/troff/reg.cpp b/src/roff/troff/reg.cpp
index 08ff61c4e..a4af912af 100644
--- a/src/roff/troff/reg.cpp
+++ b/src/roff/troff/reg.cpp
@@ -554,8 +554,9 @@ static void dump_register(symbol *id, reg *r)
   }
   else {
     const char *s = r->get_string();
-    assert(s != 0 /* nullptr */);
-    errprint("%1", s);
+    // Some string-valued registers, like `.z` and `.itm`, can be empty.
+    if (s != 0 /* nullptr */)
+      errprint("%1", s);
   }
   errprint("\n");
 }

_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit

Reply via email to