https://github.com/python/cpython/commit/0ee5409aea7eefd6a0deff697247657c75437c4e commit: 0ee5409aea7eefd6a0deff697247657c75437c4e branch: 3.7 author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com> committer: GitHub <noreply at github.com> date: 2018年11月16日T08:31:47-08:00 summary: Add a missed PyErr_NoMemory() in symtable_new(). (GH-10576) This missed PyErr_NoMemory() could cause a SystemError when calling _symtable.symtable(). (cherry picked from commit ad65f15581173542f1d2a9968a63bee272510ce3) Co-authored-by: Zackery Spytz <zspytz at gmail.com> files: M Python/symtable.c diff --git a/Python/symtable.c b/Python/symtable.c index 81eea95f4907..177bb6d436c6 100644 --- a/Python/symtable.c +++ b/Python/symtable.c @@ -215,8 +215,10 @@ symtable_new(void) struct symtable *st; st = (struct symtable *)PyMem_Malloc(sizeof(struct symtable)); - if (st == NULL) + if (st == NULL) { + PyErr_NoMemory(); return NULL; + } st->st_filename = NULL; st->st_blocks = NULL;