From 1b367f9121b7c9cdceab644539b329c501e539c2 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 23 May 2012 11:59:45 -0700 Subject: validate_entry: handle KeyError for bug #417253 This error is triggered by corrupt cache entries. --- pym/portage/cache/template.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pym/portage/cache/template.py b/pym/portage/cache/template.py index 0af6c20ca..0ab6e0a1f 100644 --- a/pym/portage/cache/template.py +++ b/pym/portage/cache/template.py @@ -194,8 +194,13 @@ class database(object): def validate_entry(self, entry, ebuild_hash, eclass_db): hash_key = '_%s_' % self.validation_chf - if entry[hash_key] != getattr(ebuild_hash, self.validation_chf): + try: + entry_hash = entry[hash_key] + except KeyError: return False + else: + if entry_hash != getattr(ebuild_hash, self.validation_chf): + return False update = eclass_db.validate_and_rewrite_cache(entry['_eclasses_'], self.validation_chf, self.store_eclass_paths) if update is None: -- cgit v1.2.3