homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients vstinner
Date 2010年04月18日.00:10:32
SpamBayes Score 6.5320813e-07
Marked as misclassified No
Message-id <1271549434.81.0.619748326822.issue8391@psf.upfronthosting.co.za>
In-reply-to
Content
Current code of execve() has a bug: it uses the length of the environment variable value in *characters* and not in *bytes* to allocate the "p" buffer. I remember that someone wrote a comment somewhere about that... The result is that the environment variable value is truncated by 1 byte.
Example (copy of http://dpaste.com/184803/):
-----------
$ cat test.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
env = {"VAR": "ćd"}
os.execve("test.sh", [], env)
$ cat test.sh
#!/bin/bash
declare -p VAR
$ python2.6 test.py
declare -x VAR="ćd"
$ python3.1 test.py
declare -x VAR="ć"
-----------
History
Date User Action Args
2010年04月18日 00:10:35vstinnersetrecipients: + vstinner
2010年04月18日 00:10:34vstinnersetmessageid: <1271549434.81.0.619748326822.issue8391@psf.upfronthosting.co.za>
2010年04月18日 00:10:33vstinnerlinkissue8391 messages
2010年04月18日 00:10:32vstinnercreate

AltStyle によって変換されたページ (->オリジナル) /