Detect an invalid cpv passed into portdbapi.findname2() and raise an
authorZac Medico <zmedico@gentoo.org>
Fri, 25 Jul 2008 21:04:37 +0000 (21:04 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 25 Jul 2008 21:04:37 +0000 (21:04 -0000)
InvalidPackageName exception. This avoids silent or nonsense errors
later on.

svn path=/main/trunk/; revision=11188

pym/portage/dbapi/porttree.py

index 23fb67d32afb60e20fbfe6d80f7222532bfe92f2..872621e182d49a249939dda7a5441d901b65eb9d 100644 (file)
@@ -11,7 +11,7 @@ from portage.dep import use_reduce, paren_reduce, dep_getslot, dep_getkey, \
        match_from_list, match_to_list, remove_slot
 from portage.exception import OperationNotPermitted, PortageException, \
        UntrustedSignature, SecurityViolation, InvalidSignature, MissingSignature, \
-       FileNotFound, InvalidDependString
+       FileNotFound, InvalidDependString, InvalidPackageName
 from portage.manifest import Manifest
 from portage.output import red
 from portage.util import ensure_dirs, writemsg, apply_recursive_permissions
@@ -216,6 +216,8 @@ class portdbapi(dbapi):
                        return "",0
                mysplit = mycpv.split("/")
                psplit = pkgsplit(mysplit[1])
+               if psplit is None or len(mysplit) != 2:
+                       raise InvalidPackageName(mycpv)
 
                if mytree:
                        mytrees = [mytree]