From: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com> Date: Mon, 10 May 2021 09:10:22 +0000 (-0400) Subject: Prevent access outside buffer (GH-26012) X-Git-Tag: v3.11.0a1~1166 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=45862f9f5ef5d3c9da37f35e4fe4b18618530cfa;p=thirdparty%2FPython%2Fcpython.git Prevent access outside buffer (GH-26012) --- diff --git a/Python/ceval.c b/Python/ceval.c index f7450670691d..8e1c5bdf0330 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -4794,8 +4794,10 @@ scan_back_to_entry_start(unsigned char *p) { } 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 @@ get_exception_handler(PyCodeObject *code, int index) 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;