TMP
diff --git a/src/pcre2_compile.c b/src/pcre2_compile.c index c64fd27..3ac0642 100644 --- a/src/pcre2_compile.c +++ b/src/pcre2_compile.c
@@ -7471,6 +7471,8 @@ just adjust the length as if we had. Do some paranoid checks for potential integer overflow. */ + // XXX replication + if (lengthptr != NULL) { PCRE2_SIZE delta; @@ -7484,6 +7486,7 @@ } else for (int i = 0; i < replicate; i++) { + // XXX actual replication loop memcpy(code, previous, CU2BYTES(length_prevgroup)); previous = code; code += length_prevgroup; @@ -7521,6 +7524,8 @@ Originally, PCRE did not allow repetition of assertions, but now it does, for Perl compatibility. */ + // XXX more replication + case OP_ASSERT: case OP_ASSERT_NOT: case OP_ASSERT_NA: @@ -7667,6 +7672,7 @@ } for (uint32_t i = 1; i < repeat_min; i++) { + // XXX actual replication loop memcpy(code, previous, CU2BYTES(len)); code += len; } @@ -7723,6 +7729,7 @@ PUTINC(code, 0, linkoffset); } + // XXX actual replication loop memcpy(code, previous, CU2BYTES(len)); code += len; } @@ -7928,6 +7935,7 @@ else { code = oldcode; /* Leave previous item in place */ + // XXX urp, replication; but "small" if (repeat_max == 1) goto END_REPEAT; *code++ = OP_UPTO + repeat_type; PUT2INC(code, 0, repeat_max - 1);