Commit 7c4ab2af authored by Zackery Spytz's avatar Zackery Spytz Committed by Benjamin Peterson

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

Avoid undefined pointer arithmetic with NULL.
parent 88bfd0bc
Fix undefined behavior in parsetok.c. Patch by Zackery Spytz.
...@@ -225,7 +225,7 @@ parsetok(struct tok_state *tok, grammar *g, int start, perrdetail *err_ret, ...@@ -225,7 +225,7 @@ parsetok(struct tok_state *tok, grammar *g, int start, perrdetail *err_ret,
} }
else else
started = 1; 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); str = (char *) PyObject_MALLOC(len + 1);
if (str == NULL) { if (str == NULL) {
err_ret->error = E_NOMEM; err_ret->error = E_NOMEM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment