bpo-39406: os.putenv() avoids putenv_dict on Windows (GH-18126)
Windows: _wputenv(env) copies the *env* string and doesn't require the caller to manage the variable memory.
This commit is contained in:
parent
b73dd02ea7
commit
0852c7dd52
|
@ -819,7 +819,9 @@ dir_fd_converter(PyObject *o, void *p)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef HAVE_PUTENV
|
||||
/* Windows: _wputenv(env) copies the *env* string and doesn't require the
|
||||
caller to manage the variable memory. */
|
||||
#if defined(HAVE_PUTENV) && !defined(MS_WINDOWS)
|
||||
# define PY_PUTENV_DICT
|
||||
#endif
|
||||
|
||||
|
@ -10130,8 +10132,10 @@ os_putenv_impl(PyObject *module, PyObject *name, PyObject *value)
|
|||
posix_error();
|
||||
goto error;
|
||||
}
|
||||
/* _wputenv(env) copies the *env* string and doesn't require the caller
|
||||
to manage the variable memory. */
|
||||
Py_DECREF(unicode);
|
||||
|
||||
posix_putenv_dict_setitem(name, unicode);
|
||||
Py_RETURN_NONE;
|
||||
|
||||
error:
|
||||
|
|
Loading…
Reference in New Issue