mirror of
https://git.yoctoproject.org/poky
synced 2026-04-29 18:32:20 +02:00
bitbake: data_smart: Improve override recursion handling
When expanding OVERRIDES, its possible someone might try and override a variable that is used in OVERRIDES. This could lead to infinite recursion. Add in guards against this. (Bitbake rev: 07d773369f571028c2cf82dd1f65d9731af6d00e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -313,6 +313,7 @@ class DataSmart(MutableMapping):
|
||||
self.overridedata = {}
|
||||
self.overrides = None
|
||||
self.overridevars = set(["OVERRIDES", "FILE"])
|
||||
self.inoverride = False
|
||||
|
||||
def enableTracking(self):
|
||||
self._tracking = True
|
||||
@@ -363,8 +364,13 @@ class DataSmart(MutableMapping):
|
||||
|
||||
def need_overrides(self):
|
||||
if self.overrides is None:
|
||||
if self.inoverride:
|
||||
return
|
||||
self.inoverride = True
|
||||
# Can end up here recursively so setup dummy values
|
||||
self.overrides = []
|
||||
self.overrides = (self.getVar("OVERRIDES", True) or "").split(":") or []
|
||||
self.inoverride = False
|
||||
self.expand_cache = {}
|
||||
|
||||
def initVar(self, var):
|
||||
|
||||
Reference in New Issue
Block a user