diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2013-07-26 23:05:49 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2013-07-26 23:05:49 (GMT) |
commit | 597696c70cd18ec8b798b43ad38469b4e498b30d (patch) | |
tree | 218d69d2584da9ef011c0cee588bc108ccd0efdd | |
parent | b7f1b38deab39cb55781c9ebc22abd273ca21480 (diff) | |
parent | 36577e4e8cf967083dea762407ba9d9d28de5b8a (diff) | |
download | cpython-597696c70cd18ec8b798b43ad38469b4e498b30d.zip cpython-597696c70cd18ec8b798b43ad38469b4e498b30d.tar.gz cpython-597696c70cd18ec8b798b43ad38469b4e498b30d.tar.bz2 |
(Merge 3.3) Issue #15893: frozenmain.c now handles PyMem_Malloc() failure
-rw-r--r-- | Python/frozenmain.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Python/frozenmain.c b/Python/frozenmain.c index f08caf2..98f46eb 100644 --- a/Python/frozenmain.c +++ b/Python/frozenmain.c @@ -20,9 +20,16 @@ Py_FrozenMain(int argc, char **argv) int inspect = 0; int unbuffered = 0; char *oldloc; - wchar_t **argv_copy = PyMem_Malloc(sizeof(wchar_t*)*argc); + wchar_t **argv_copy; /* We need a second copies, as Python might modify the first one. */ - wchar_t **argv_copy2 = PyMem_Malloc(sizeof(wchar_t*)*argc); + wchar_t **argv_copy2; + + argv_copy = PyMem_Malloc(sizeof(wchar_t*)*argc); + argv_copy2 = PyMem_Malloc(sizeof(wchar_t*)*argc); + if (!argv_copy || !argv_copy2) { + fprintf(stderr, "out of memory\n"); + return 1; + } Py_FrozenFlag = 1; /* Suppress errors from getpath.c */ |