closes bpo-34400: Fix undefined behavior in parsetok(). (GH-4439)
Avoid undefined pointer arithmetic with NULL.
(cherry picked from commit 7c4ab2afb1
)
Co-authored-by: Zackery Spytz <zspytz@gmail.com>
This commit is contained in:
parent
e3228a3f44
commit
2275b773eb
|
@ -0,0 +1 @@
|
|||
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,
|
|||
}
|
||||
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;
|
||||
|
|
Loading…
Reference in New Issue