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