summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cache.py
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2017-04-10 13:50:41 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-04-11 18:05:09 +0100
commitfc6370626e31951d112337c7a5f9ae15a4b73965 (patch)
tree363533e8bdc8fe11787baa63fd28bb10cd303b08 /bitbake/lib/bb/cache.py
parent2a40a0587e64a4bdf2ed64c4b84f0d6f4d602d7c (diff)
downloadopenembedded-core-contrib-fc6370626e31951d112337c7a5f9ae15a4b73965.tar.gz
bitbake: cache: prevent division-by-zero in load_cahefile()
[YOCTO 11315] (Bitbake rev: 227c5acd4b40154bc61202e7bb67a13818a7d727) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/cache.py')
-rw-r--r--bitbake/lib/bb/cache.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index 28e8a87455..e7eeb4f505 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -462,6 +462,10 @@ class Cache(NoCache):
self.depends_cache[key] = [value]
# only fire events on even percentage boundaries
current_progress = cachefile.tell() + previous_progress
+ if current_progress > cachesize:
+ # we might have calculated incorrect total size because a file
+ # might've been written out just after we checked its size
+ cachesize = current_progress
current_percent = 100 * current_progress / cachesize
if current_percent > previous_percent:
previous_percent = current_percent