diff options
author | Zac Medico <zmedico@gentoo.org> | 2013-02-17 14:12:29 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2013-02-17 14:12:29 -0800 |
commit | 2074371c6b3196c4158814587c2d996b281a7abf (patch) | |
tree | 22f6e768d54b25239e3d73b7800429e04ce9ee7d | |
parent | preplib: remove for bug #102297 (diff) | |
download | portage-2074371c6b3196c4158814587c2d996b281a7abf.tar.gz portage-2074371c6b3196c4158814587c2d996b281a7abf.tar.bz2 portage-2074371c6b3196c4158814587c2d996b281a7abf.zip |
_exec: avoid UnicodeEncodeError for execve args
-rw-r--r-- | pym/portage/process.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/pym/portage/process.py b/pym/portage/process.py index 89ebd0553..f00775cf5 100644 --- a/pym/portage/process.py +++ b/pym/portage/process.py @@ -387,6 +387,10 @@ def _exec(binary, mycommand, opt_name, fd_pipes, env, gid, groups, uid, umask, myargs = [opt_name] myargs.extend(mycommand[1:]) + # Avoid a potential UnicodeEncodeError from os.execve(). + myargs = [_unicode_encode(x, encoding=_encodings['fs'], + errors='strict') for x in myargs] + # Use default signal handlers in order to avoid problems # killing subprocesses as reported in bug #353239. signal.signal(signal.SIGINT, signal.SIG_DFL) |