Should use RE_DUP_MAX instead of _POSIX_RE_DUP_MAX.
Updated diff:
Index: usr.bin/lex/nfa.c
===================================================================
RCS file: /cvs/src/usr.bin/lex/nfa.c,v
retrieving revision 1.12
diff -u -p -r1.12 nfa.c
--- usr.bin/lex/nfa.c 9 Nov 2024 18:03:44 -0000 1.12
+++ usr.bin/lex/nfa.c
@@ -554,6 +554,10 @@ mkrep(int mach, int lb, int ub)
{
int base_mach, tail, copy, i;
+ if (lb > RE_DUP_MAX || (ub > RE_DUP_MAX &&
+ ub != INFINITE_REPEAT))
+ flexfatal(_("repetition value too large"));
+
base_mach = copysingl(mach, lb - 1);
if (ub == INFINITE_REPEAT) {