From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 25 Jun 2024 17:40:05 +0000 (+0200) Subject: [3.13] gh-120155: Fix Coverity issue in parse_string() (GH-120997) (#121005) X-Git-Tag: v3.13.0b3~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=571cefd8c7933f4917739dde43171558f109d63c;p=thirdparty%2FPython%2Fcpython.git [3.13] gh-120155: Fix Coverity issue in parse_string() (GH-120997) (#121005) gh-120155: Fix Coverity issue in parse_string() (GH-120997) (cherry picked from commit 769aea332940f03c3e5b1ad9badd6635c1ac992a) Co-authored-by: Victor Stinner --- diff --git a/Parser/string_parser.c b/Parser/string_parser.c index bacfd8154411..93ad92b82358 100644 --- a/Parser/string_parser.c +++ b/Parser/string_parser.c @@ -229,9 +229,14 @@ _PyPegen_parse_string(Parser *p, Token *t) PyErr_BadInternalCall(); return NULL; } + /* Skip the leading quote char. */ s++; len = strlen(s); + // gh-120155: 's' contains at least the trailing quote, + // so the code '--len' below is safe. + assert(len >= 1); + if (len > INT_MAX) { PyErr_SetString(PyExc_OverflowError, "string to parse is too long"); return NULL;