gbranden pushed a commit to branch master
in repository groff.

commit eb161651f64dcd5f98a277ae4e35f7bf3ad2d451
Author: G. Branden Robinson <[email protected]>
AuthorDate: Mon Jun 10 12:37:34 2024 -0500

    [troff]: Tighten up C string traversal.
    
    * src/roff/troff/input.cpp (token::next, interpolate_arg): Tighten up
      null-terminated string traversal.
---
 ChangeLog                | 5 +++++
 src/roff/troff/input.cpp | 6 ++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index c8a74618a..686b342a1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2024-06-10  G. Branden Robinson <[email protected]>
+
+       * src/roff/troff/input.cpp (token::next, interpolate_arg):
+       Tighten up null-terminated string traversal.
+
 2024-06-05  G. Branden Robinson <[email protected]>
 
        [docs]: Fix Savannah #65837.
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index 596ecf6f9..ebf5c5bc0 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -2189,7 +2189,9 @@ void token::next()
          if (s.is_null())
            break;
          const char *p;
-         for (p = s.contents(); *p != '\0'; p++)
+         for (p = s.contents();
+              p != 0 /* nullptr */ && *p != '\0';
+              p++)
            if (!csdigit(*p))
              break;
          // environment::set_font warns if a bogus mounting position is
@@ -4558,7 +4560,7 @@ static void interpolate_arg(symbol nm)
     const char *p;
     bool is_valid = true;
     bool is_printable = true;
-    for (p = s; *p != 0 /* nullptr */; p++) {
+    for (p = s; p != 0 /* nullptr */ && *p != '\0'; p++) {
       if (!csdigit(*p))
        is_valid = false;
       if (!csprint(*p))

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

Reply via email to