bpo-36495: Fix two out-of-bounds array reads (GH-12641)

Research and fix by @bradlarsen.
This commit is contained in:
Brad Larsen 2019-04-01 10:36:05 -04:00 committed by Guido van Rossum
parent 10654c19b5
commit a4d7836239
1 changed files with 2 additions and 2 deletions

View File

@ -1400,7 +1400,7 @@ handle_keywordonly_args(struct compiling *c, const node *n, int start,
goto error;
asdl_seq_SET(kwonlyargs, j++, arg);
i += 1; /* the name */
if (TYPE(CHILD(n, i)) == COMMA)
if (i < NCH(n) && TYPE(CHILD(n, i)) == COMMA)
i += 1; /* the comma, if present */
break;
case TYPE_COMMENT:
@ -1599,7 +1599,7 @@ ast_for_arguments(struct compiling *c, const node *n)
if (!kwarg)
return NULL;
i += 2; /* the double star and the name */
if (TYPE(CHILD(n, i)) == COMMA)
if (i < NCH(n) && TYPE(CHILD(n, i)) == COMMA)
i += 1; /* the comma, if present */
break;
case TYPE_COMMENT: