[pypy-commit] pypy py3.7: make putenv complain about bad names (test already existed)
cfbolz
pypy.commits at gmail.com
Fri Jan 31 17:30:16 EST 2020
Author: Carl Friedrich Bolz-Tereick <cfbolz at gmx.de>
Branch: py3.7
Changeset: r98624:89255ed57e9f
Date: 2020-01-31 23:29 +0100
http://bitbucket.org/pypy/pypy/changeset/89255ed57e9f/
Log: make putenv complain about bad names (test already existed)
diff --git a/pypy/module/posix/interp_posix.py b/pypy/module/posix/interp_posix.py
--- a/pypy/module/posix/interp_posix.py
+++ b/pypy/module/posix/interp_posix.py
@@ -935,9 +935,21 @@
def putenv(space, w_name, w_value):
"""Change or add an environment variable."""
try:
- dispatch_filename_2(rposix.putenv)(space, w_name, w_value)
+ dispatch_filename_2(putenv_impl)(space, w_name, w_value)
except OSError as e:
raise wrap_oserror(space, e, eintr_retry=False)
+ except ValueError:
+ raise oefmt(space.w_ValueError,
+ "illegal environment variable name")
+
+ @specialize.argtype(0, 1)
+ def putenv_impl(name, value):
+ from rpython.rlib.rposix import _as_bytes
+ name = _as_bytes(name)
+ value = _as_bytes(value)
+ if "=" in name:
+ raise ValueError
+ return rposix.putenv(name, value)
def unsetenv(space, w_name):
"""Delete an environment variable."""
More information about the pypy-commit
mailing list