Fix for issue 15716: interpreter could crash when PYTHONEXECUTABLE was set on Mac OS X.

This is due to an off-by-one error: the allocated buffer didn't have room for a NUL
character at the end of the mbstowcs result.

(merge with 3.2)
This commit is contained in:
Ronald Oussoren 2012-08-22 14:40:35 +02:00
commit 9bd9cd3fb9
2 changed files with 3 additions and 1 deletions

View file

@ -10,6 +10,8 @@ What's New in Python 3.3.0 Release Candidate 1?
Core and Builtins Core and Builtins
----------------- -----------------
- Issue #15761: Fix crash when PYTHONEXECUTABLE is set on Mac OS X.
- Issue #15726: Fix incorrect bounds checking in PyState_FindModule. - Issue #15726: Fix incorrect bounds checking in PyState_FindModule.
Patch by Robin Schreiber. Patch by Robin Schreiber.

View file

@ -604,7 +604,7 @@ Py_Main(int argc, wchar_t **argv)
script. */ script. */
if ((p = Py_GETENV("PYTHONEXECUTABLE")) && *p != '\0') { if ((p = Py_GETENV("PYTHONEXECUTABLE")) && *p != '\0') {
wchar_t* buffer; wchar_t* buffer;
size_t len = strlen(p); size_t len = strlen(p) + 1;
buffer = malloc(len * sizeof(wchar_t)); buffer = malloc(len * sizeof(wchar_t));
if (buffer == NULL) { if (buffer == NULL) {