Prevent access outside buffer (GH-26012)

This commit is contained in:
Dennis Sweeney 2021-05-10 05:10:22 -04:00 committed by GitHub
parent 8e8307d70b
commit 45862f9f5e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -4794,8 +4794,10 @@ scan_back_to_entry_start(unsigned char *p) {
} }
static inline unsigned char * static inline unsigned char *
skip_to_next_entry(unsigned char *p) { skip_to_next_entry(unsigned char *p, unsigned char *end) {
for (; (p[0]&128) == 0; p++); while (p < end && ((p[0] & 128) == 0)) {
p++;
}
return p; return p;
} }
@ -4863,7 +4865,7 @@ get_exception_handler(PyCodeObject *code, int index)
parse_block(scan, &res); parse_block(scan, &res);
return res; return res;
} }
scan = skip_to_next_entry(scan); scan = skip_to_next_entry(scan, end);
} }
res.b_handler = -1; res.b_handler = -1;
return res; return res;