public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Zac Medico" <zmedico@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/xml/
Date: Wed, 12 Sep 2012 04:46:59 +0000 (UTC)	[thread overview]
Message-ID: <1347425203.6d1ed6df57e6167fee9c6fc30fa889f27042043e.zmedico@gentoo> (raw)

commit:     6d1ed6df57e6167fee9c6fc30fa889f27042043e
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 12 04:46:43 2012 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Wed Sep 12 04:46:43 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=6d1ed6df

MetaDataXML: encode unicode file paths safely

This will fix cases similar to the one fixed in commit
f01d7a8ca158ec60df76a3e8ae5b80ac3f62429e for bug #310789.

---
 pym/portage/xml/metadata.py |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/pym/portage/xml/metadata.py b/pym/portage/xml/metadata.py
index f820e54..113b118 100644
--- a/pym/portage/xml/metadata.py
+++ b/pym/portage/xml/metadata.py
@@ -58,8 +58,7 @@ except (ImportError, SystemError, RuntimeError, Exception):
 
 import re
 import xml.etree.ElementTree
-import portage
-from portage import os, _unicode_decode
+from portage import _encodings, _unicode_encode, _unicode_decode
 from portage.util import unique_everseen
 
 class _MetadataTreeBuilder(xml.etree.ElementTree.TreeBuilder):
@@ -203,7 +202,8 @@ class MetaDataXML(object):
 		self._xml_tree = None
 
 		try:
-			self._xml_tree = etree.parse(metadata_xml_path,
+			self._xml_tree = etree.parse(_unicode_encode(metadata_xml_path,
+				encoding=_encodings['fs'], errors='strict'),
 				parser=etree.XMLParser(target=_MetadataTreeBuilder()))
 		except ImportError:
 			pass
@@ -241,7 +241,8 @@ class MetaDataXML(object):
 
 		if self._herdstree is None:
 			try:
-				self._herdstree = etree.parse(self._herds_path,
+				self._herdstree = etree.parse(_unicode_encode(self._herds_path,
+					encoding=_encodings['fs'], errors='strict'),
 					parser=etree.XMLParser(target=_MetadataTreeBuilder()))
 			except (ImportError, IOError, SyntaxError):
 				return None


             reply	other threads:[~2012-09-12  4:47 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-12  4:46 Zac Medico [this message]
  -- strict thread matches above, loose matches on Subject: below --
2016-11-07 21:23 [gentoo-commits] proj/portage:master commit in: pym/portage/xml/ Zac Medico
2016-01-15 13:43 Michał Górny
2012-01-17 21:40 Zac Medico
2012-01-17 21:13 Zac Medico
2011-09-03 17:09 Zac Medico
2011-09-02 17:29 Arfrever Frehtes Taifersar Arahesis
2011-09-02 15:45 Zac Medico
2011-09-01  2:56 Zac Medico
2011-09-01  2:40 Zac Medico
2011-08-25  1:03 Zac Medico

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1347425203.6d1ed6df57e6167fee9c6fc30fa889f27042043e.zmedico@gentoo \
    --to=zmedico@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox