summaryrefslogtreecommitdiffstats
path: root/pym/portage.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-05-20 01:14:43 +0000
committerZac Medico <zmedico@gentoo.org>2008-05-20 01:14:43 +0000
commitd440909ffbed04667083b4933c53224293aae8db (patch)
tree6d2b30a1120fcc67740bca1b4abfaaa4b705b1fd /pym/portage.py
parent105bdd289664c5899d2bd4206398d2da801dfcfc (diff)
downloadportage-d440909ffbed04667083b4933c53224293aae8db.tar.gz
portage-d440909ffbed04667083b4933c53224293aae8db.tar.bz2
portage-d440909ffbed04667083b4933c53224293aae8db.zip
Inside vardbapi.aux_get(), do more validation on the cache data to
ensure it contains the expected data types. (trunk r10373) svn path=/main/branches/2.1.2/; revision=10374
Diffstat (limited to 'pym/portage.py')
-rw-r--r--pym/portage.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/pym/portage.py b/pym/portage.py
index 02e31965a..85c65da24 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -6902,6 +6902,15 @@ class vardbapi(dbapi):
cache_incomplete = False
cache_mtime = None
metadata = None
+ if pkg_data is not None:
+ if not isinstance(pkg_data, tuple) or len(pkg_data) != 2:
+ pkg_data = None
+ else:
+ cache_mtime, metadata = pkg_data
+ if not isinstance(cache_mtime, (long, int)) or \
+ not isinstance(metadata, dict):
+ pkg_data = None
+
if pkg_data:
cache_mtime, metadata = pkg_data
cache_valid = cache_mtime == mydir_mtime