aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-09-11 21:52:33 -0700
committerZac Medico <zmedico@gentoo.org>2012-09-11 21:52:33 -0700
commit62f4f330fc5ed840eba9d32da353afe789e2805b (patch)
treeccb2e5f48e4c6f393366341372c94e92b5b52027
parentMetaDataXML: encode unicode file paths safely (diff)
downloadportage-62f4f330fc5ed840eba9d32da353afe789e2805b.tar.gz
portage-62f4f330fc5ed840eba9d32da353afe789e2805b.tar.bz2
portage-62f4f330fc5ed840eba9d32da353afe789e2805b.zip
egencache: encode unicode file paths safely
This will fix cases similar to the one fixed in commit f01d7a8ca158ec60df76a3e8ae5b80ac3f62429e for bug #310789.
-rwxr-xr-xbin/egencache3
1 files changed, 2 insertions, 1 deletions
diff --git a/bin/egencache b/bin/egencache
index f7b447130..003567452 100755
--- a/bin/egencache
+++ b/bin/egencache
@@ -541,7 +541,8 @@ class GenUseLocalDesc(object):
for cp in self._portdb.cp_all():
metadata_path = os.path.join(repo_path, cp, 'metadata.xml')
try:
- metadata = ElementTree.parse(metadata_path,
+ metadata = ElementTree.parse(_unicode_encode(metadata_path,
+ encoding=_encodings['fs'], errors='strict'),
parser=ElementTree.XMLParser(
target=_MetadataTreeBuilder()))
except IOError: