Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r10165 - main/trunk/pym/_emerge
Date: Sun, 04 May 2008 06:40:02
Message-Id: E1JsXt9-0007n6-BW@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-05-04 06:39:58 +0000 (Sun, 04 May 2008)
3 New Revision: 10165
4
5 Modified:
6 main/trunk/pym/_emerge/__init__.py
7 Log:
8 Do more validation of resume data from the mtimedb.
9
10
11 Modified: main/trunk/pym/_emerge/__init__.py
12 ===================================================================
13 --- main/trunk/pym/_emerge/__init__.py 2008-05-04 05:51:51 UTC (rev 10164)
14 +++ main/trunk/pym/_emerge/__init__.py 2008-05-04 06:39:58 UTC (rev 10165)
15 @@ -7743,12 +7743,24 @@
16 # validate the state of the resume data
17 # so that we can make assumptions later.
18 for k in ("resume", "resume_backup"):
19 - if k in mtimedb:
20 - if "mergelist" in mtimedb[k]:
21 - if not mtimedb[k]["mergelist"]:
22 - del mtimedb[k]
23 - else:
24 - del mtimedb[k]
25 + if k not in mtimedb:
26 + continue
27 + resume_data = mtimedb[k]
28 + if not isinstance(resume_data, dict):
29 + del mtimedb[k]
30 + continue
31 + mergelist = resume_data.get("mergelist")
32 + if not isinstance(mergelist, list):
33 + del mtimedb[k]
34 + continue
35 + resume_opts = resume_data.get("myopts")
36 + if not isinstance(resume_opts, (dict, list)):
37 + del mtimedb[k]
38 + continue
39 + favorites = resume_data.get("favorites")
40 + if not isinstance(resume_opts, list):
41 + del mtimedb[k]
42 + continue
43
44 resume = False
45 if "--resume" in myopts and \
46
47 --
48 gentoo-commits@l.g.o mailing list