summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/dbapi/vartree.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index db05fca6b..c13af9263 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -792,7 +792,7 @@ class vardbapi(dbapi):
counter, = self.aux_get(cpv, aux_keys)
except KeyError:
continue
- h.update(counter.encode())
+ h.update(counter.encode('ascii', 'backslashreplace'))
return h.hexdigest()
def cpv_inject(self, mycpv):
@@ -1390,7 +1390,9 @@ class vardbapi(dbapi):
def _hash_str(self, s):
h = self._new_hash()
- h.update(s.encode())
+ # Always use a constant utf_8 encoding here, since
+ # the "default" encoding can change.
+ h.update(s.encode('utf_8', 'backslashreplace'))
h = h.hexdigest()
h = h[-self._hex_chars:]
h = int(h, 16)