summaryrefslogtreecommitdiffstats
path: root/pym/portage/util/_dyn_libs
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-01-31 18:04:11 -0800
committerZac Medico <zmedico@gentoo.org>2012-01-31 18:04:11 -0800
commit972866403e8adc992625d2ff5e608c028b08bf30 (patch)
tree0094bd53c6e4a3857597c392e35c7517b789e59c /pym/portage/util/_dyn_libs
parent45e9d6db3e1af8303ba724e3b857b3e461f705fc (diff)
downloadportage-972866403e8adc992625d2ff5e608c028b08bf30.tar.gz
portage-972866403e8adc992625d2ff5e608c028b08bf30.tar.bz2
portage-972866403e8adc992625d2ff5e608c028b08bf30.zip
LinkageMapELF: handle null bytes in NEEDED.ELF.2
This avoids an error from os.stat: TypeError: must be encoded string without NULL bytes, not str
Diffstat (limited to 'pym/portage/util/_dyn_libs')
-rw-r--r--pym/portage/util/_dyn_libs/LinkageMapELF.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/pym/portage/util/_dyn_libs/LinkageMapELF.py b/pym/portage/util/_dyn_libs/LinkageMapELF.py
index f7513573d..e71ac735a 100644
--- a/pym/portage/util/_dyn_libs/LinkageMapELF.py
+++ b/pym/portage/util/_dyn_libs/LinkageMapELF.py
@@ -287,6 +287,13 @@ class LinkageMapELF(object):
l = l.rstrip("\n")
if not l:
continue
+ if '\0' in l:
+ # os.stat() will raise "TypeError: must be encoded string
+ # without NULL bytes, not str" in this case.
+ writemsg_level(_("\nLine contains null byte(s) " \
+ "in %s: %s\n\n") % (location, l),
+ level=logging.ERROR, noiselevel=-1)
+ continue
fields = l.split(";")
if len(fields) < 5:
writemsg_level(_("\nWrong number of fields " \