summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-02-09 03:20:45 +0000
committerZac Medico <zmedico@gentoo.org>2010-02-09 03:20:45 +0000
commit3ffd2176fea960f550ea27be750ad90d79c2c76f (patch)
tree864668cc54aec6a1eab8a2fa597493b14412ec20
parentSkip atom validation in WorldHandler since WorldSelectedSet handles this (diff)
downloadportage-idfetch-3ffd2176fea960f550ea27be750ad90d79c2c76f.tar.gz
portage-idfetch-3ffd2176fea960f550ea27be750ad90d79c2c76f.tar.bz2
portage-idfetch-3ffd2176fea960f550ea27be750ad90d79c2c76f.zip
Make Glsa constructor raise GlsaFormatException when a package name attribute
is invalid. svn path=/main/trunk/; revision=15328
-rw-r--r--pym/portage/glsa.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/pym/portage/glsa.py b/pym/portage/glsa.py
index 4684ea42..98602e4c 100644
--- a/pym/portage/glsa.py
+++ b/pym/portage/glsa.py
@@ -11,6 +11,7 @@ except ImportError:
import re
import xml.dom.minidom
+import portage
from portage import os
from portage import _encodings
from portage import _unicode_decode
@@ -551,6 +552,13 @@ class Glsa:
self.packages = {}
for p in self.affected.getElementsByTagName("package"):
name = p.getAttribute("name")
+ try:
+ name = portage.dep.Atom(name)
+ except portage.exception.InvalidAtom:
+ raise GlsaFormatException(_("invalid package name: %s") % name)
+ if name != name.cp:
+ raise GlsaFormatException(_("invalid package name: %s") % name)
+ name = name.cp
if name not in self.packages:
self.packages[name] = []
tmp = {}