summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-12-13 12:06:12 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-12-13 12:07:48 +0000
commitbf71844ce5797f1fda2a7e293296fb8619cf686d (patch)
treeff5a71c3a87b4cfa3d16069cd820ff7a7d98fde5
parent7a345c37b19a03a8435cefaeea818f945f1b9dfc (diff)
downloadpoky-bf71844ce5797f1fda2a7e293296fb8619cf686d.tar.gz
bitbake: data_smart: Fix hash corruption issue
We were accidentally using references to sets in the contains functionality instead of creating a copy. This could cause data corruption and corruption of the resulting sstate checksums. This patch fixes this to make a copy of the set and resolved the corruption issue. (Bitbake rev: 8f4733257ad665aa7c7e7061c543379d5e4e3af2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/data_smart.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index 833d9f17a4..742c7fb64a 100644
--- a/bitbake/lib/bb/data_smart.py
+++ b/bitbake/lib/bb/data_smart.py
@@ -123,7 +123,7 @@ class VariableParse:
123 123
124 for k in parser.contains: 124 for k in parser.contains:
125 if k not in self.contains: 125 if k not in self.contains:
126 self.contains[k] = parser.contains[k] 126 self.contains[k] = parser.contains[k].copy()
127 else: 127 else:
128 self.contains[k].update(parser.contains[k]) 128 self.contains[k].update(parser.contains[k])
129 value = utils.better_eval(codeobj, DataContext(self.d)) 129 value = utils.better_eval(codeobj, DataContext(self.d))