From 7cdc6575cb5fe4abdff89f1a8680eef7254a2fbd Mon Sep 17 00:00:00 2001 From: Jason Stubbs Date: Sat, 8 Apr 2006 03:01:20 +0000 Subject: Protect string indexes during input stripping in dep_getkey and dep_getcpv. Bug #129193 svn path=/main/trunk/; revision=3094 --- pym/portage.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'pym') diff --git a/pym/portage.py b/pym/portage.py index 2dc324865..00d87dbd6 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -3208,19 +3208,17 @@ def dep_zapdeps(unreduced,reduced,myroot,use_binaries=0): def dep_getkey(mydep): - if not len(mydep): - return mydep - if mydep[0]=="*": + if mydep and mydep[0]=="*": mydep=mydep[1:] - if mydep[-1]=="*": + if mydep and mydep[-1]=="*": mydep=mydep[:-1] - if mydep[0]=="!": + if mydep and mydep[0]=="!": mydep=mydep[1:] if mydep[:2] in [ ">=", "<=" ]: mydep=mydep[2:] elif mydep[:1] in "=<>~": mydep=mydep[1:] - if isspecific(mydep): + if mydep and isspecific(mydep): mysplit=catpkgsplit(mydep) if not mysplit: return mydep @@ -3229,13 +3227,11 @@ def dep_getkey(mydep): return mydep def dep_getcpv(mydep): - if not len(mydep): - return mydep - if mydep[0]=="*": + if mydep and mydep[0]=="*": mydep=mydep[1:] - if mydep[-1]=="*": + if mydep and mydep[-1]=="*": mydep=mydep[:-1] - if mydep[0]=="!": + if mydep and mydep[0]=="!": mydep=mydep[1:] if mydep[:2] in [ ">=", "<=" ]: mydep=mydep[2:] -- cgit v1.2.3-1-g7c22