closes bpo-34400: Fix undefined behavior in parsetok(). (GH-4439)

Avoid undefined pointer arithmetic with NULL.
This commit is contained in:
Zackery Spytz 2018-08-15 00:27:26 -06:00 committed by Benjamin Peterson
parent 88bfd0bce0
commit 7c4ab2afb1
2 changed files with 2 additions and 1 deletions

View file

@ -0,0 +1 @@
Fix undefined behavior in parsetok.c. Patch by Zackery Spytz.

View file

@ -225,7 +225,7 @@ parsetok(struct tok_state *tok, grammar *g, int start, perrdetail *err_ret,
}
else
started = 1;
len = b - a; /* XXX this may compute NULL - NULL */
len = (a != NULL && b != NULL) ? b - a : 0;
str = (char *) PyObject_MALLOC(len + 1);
if (str == NULL) {
err_ret->error = E_NOMEM;