@@ -997,7 +997,7 @@ SRE_MATCH(SRE_STATE* state, SRE_CODE* pattern)
997997 TRACE (("|%p|%p|REPEAT_ONE %d %d\n" , ctx -> pattern , ctx -> ptr ,
998998 ctx -> pattern [1 ], ctx -> pattern [2 ]));
999999
1000- if (ctx -> pattern [1 ] > (end - ctx -> ptr ) / state -> charsize )
1000+ if (( Py_ssize_t ) ctx -> pattern [1 ] > (end - ctx -> ptr ) / state -> charsize )
10011001 RETURN_FAILURE ; /* cannot match */
10021002
10031003 state -> ptr = ctx -> ptr ;
@@ -1081,7 +1081,7 @@ SRE_MATCH(SRE_STATE* state, SRE_CODE* pattern)
10811081 TRACE (("|%p|%p|MIN_REPEAT_ONE %d %d\n" , ctx -> pattern , ctx -> ptr ,
10821082 ctx -> pattern [1 ], ctx -> pattern [2 ]));
10831083
1084- if (ctx -> pattern [1 ] > (end - ctx -> ptr ) / state -> charsize )
1084+ if (( Py_ssize_t ) ctx -> pattern [1 ] > (end - ctx -> ptr ) / state -> charsize )
10851085 RETURN_FAILURE ; /* cannot match */
10861086
10871087 state -> ptr = ctx -> ptr ;
@@ -1180,7 +1180,7 @@ SRE_MATCH(SRE_STATE* state, SRE_CODE* pattern)
11801180 TRACE (("|%p|%p|MAX_UNTIL %d\n" , ctx -> pattern ,
11811181 ctx -> ptr , ctx -> count ));
11821182
1183- if (ctx -> count < ctx -> u .rep -> pattern [1 ]) {
1183+ if (ctx -> count < ( Py_ssize_t ) ctx -> u .rep -> pattern [1 ]) {
11841184 /* not enough matches */
11851185 ctx -> u .rep -> count = ctx -> count ;
11861186 DO_JUMP (JUMP_MAX_UNTIL_1 , jump_max_until_1 ,
@@ -1194,7 +1194,7 @@ SRE_MATCH(SRE_STATE* state, SRE_CODE* pattern)
11941194 RETURN_FAILURE ;
11951195 }
11961196
1197- if ((ctx -> count < ctx -> u .rep -> pattern [2 ] ||
1197+ if ((ctx -> count < ( Py_ssize_t ) ctx -> u .rep -> pattern [2 ] ||
11981198 ctx -> u .rep -> pattern [2 ] == SRE_MAXREPEAT ) &&
11991199 state -> ptr != ctx -> u .rep -> last_ptr ) {
12001200 /* we may have enough matches, but if we can
@@ -1243,7 +1243,7 @@ SRE_MATCH(SRE_STATE* state, SRE_CODE* pattern)
12431243 TRACE (("|%p|%p|MIN_UNTIL %d %p\n" , ctx -> pattern ,
12441244 ctx -> ptr , ctx -> count , ctx -> u .rep -> pattern ));
12451245
1246- if (ctx -> count < ctx -> u .rep -> pattern [1 ]) {
1246+ if (ctx -> count < ( Py_ssize_t ) ctx -> u .rep -> pattern [1 ]) {
12471247 /* not enough matches */
12481248 ctx -> u .rep -> count = ctx -> count ;
12491249 DO_JUMP (JUMP_MIN_UNTIL_1 , jump_min_until_1 ,
@@ -1272,7 +1272,7 @@ SRE_MATCH(SRE_STATE* state, SRE_CODE* pattern)
12721272
12731273 LASTMARK_RESTORE ();
12741274
1275- if ((ctx -> count >= ctx -> u .rep -> pattern [2 ]
1275+ if ((ctx -> count >= ( Py_ssize_t ) ctx -> u .rep -> pattern [2 ]
12761276 && ctx -> u .rep -> pattern [2 ] != SRE_MAXREPEAT ) ||
12771277 state -> ptr == ctx -> u .rep -> last_ptr )
12781278 RETURN_FAILURE ;
0 commit comments