Bug #281355 - Handle IndexError inside reconstruct_eclasses().
authorZac Medico <zmedico@gentoo.org>
Thu, 13 Aug 2009 18:10:07 +0000 (18:10 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 13 Aug 2009 18:10:07 +0000 (18:10 -0000)
svn path=/main/trunk/; revision=14015

pym/portage/cache/template.py

index e782163384537a50ad4ee840979eb6fdad5ce24f..97adb10588af6be187a08699aed671ad2992398c 100644 (file)
@@ -224,6 +224,9 @@ def reconstruct_eclasses(cpv, eclass_string):
                        # The old format contains paths that will be discarded.
                        for x in xrange(0, len(eclasses), 3):
                                d[eclasses[x]] = (eclasses[x + 1], long(eclasses[x + 2]))
+       except IndexError:
+               raise cache_errors.CacheCorruption(cpv,
+                       "_eclasses_ was of invalid len %i" % len(eclasses))
        except ValueError:
                raise cache_errors.CacheCorruption(cpv, "_eclasses_ mtime conversion to long failed")
        del eclasses