diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-05-20 01:13:25 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-05-20 01:13:25 +0000 |
commit | e91945cd3bb16a6a6d4c8e11d43891bd4b4fc2b1 (patch) | |
tree | 54cedb2d0eb48160e569cdabe803b6a7e32d042c /pym | |
parent | 7370dc39166faaced1d4561846fa1bdfba4a30d1 (diff) | |
download | portage-e91945cd3bb16a6a6d4c8e11d43891bd4b4fc2b1.tar.gz portage-e91945cd3bb16a6a6d4c8e11d43891bd4b4fc2b1.tar.bz2 portage-e91945cd3bb16a6a6d4c8e11d43891bd4b4fc2b1.zip |
Inside vardbapi.aux_get(), do more validation on the cache data to
ensure it contains the expected data types.
svn path=/main/trunk/; revision=10373
Diffstat (limited to 'pym')
-rw-r--r-- | pym/portage/dbapi/vartree.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index cb47cd68d..fc0fca28d 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -617,6 +617,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 |