Prevent access outside buffer (GH-26012)
diff --git a/Python/ceval.c b/Python/ceval.c
index f745067..8e1c5bd 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -4794,8 +4794,10 @@
}
static inline unsigned char *
-skip_to_next_entry(unsigned char *p) {
- for (; (p[0]&128) == 0; p++);
+skip_to_next_entry(unsigned char *p, unsigned char *end) {
+ while (p < end && ((p[0] & 128) == 0)) {
+ p++;
+ }
return p;
}
@@ -4863,7 +4865,7 @@
parse_block(scan, &res);
return res;
}
- scan = skip_to_next_entry(scan);
+ scan = skip_to_next_entry(scan, end);
}
res.b_handler = -1;
return res;