diff options
author | Simon Glass | 2020-09-01 05:13:56 -0600 |
---|---|---|
committer | Simon Glass | 2020-09-22 12:50:43 -0600 |
commit | 211cfa503f6cf850ccbd79b1082f9234b603e635 (patch) | |
tree | 05db6af17902e2f863f340c8404c7d5342867a19 /scripts | |
parent | e9d336d866cd5ab943f8ec00775a413a847c4960 (diff) |
libfdt: Detected out-of-space with fdt_finish()
At present the Python sequential-write interface can produce an error when
it calls fdt_finish(), since this needs to add a terminating tag to the
end of the struct section.
Fix this by automatically expanding the buffer if needed.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/dtc/pylibfdt/libfdt.i_shipped | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped index fae0b27d7d0..1d69ad38e2e 100644 --- a/scripts/dtc/pylibfdt/libfdt.i_shipped +++ b/scripts/dtc/pylibfdt/libfdt.i_shipped @@ -786,7 +786,8 @@ class FdtSw(FdtRo): Fdt object allowing access to the newly created device tree """ fdtsw = bytearray(self._fdt) - check_err(fdt_finish(fdtsw)) + while self.check_space(fdt_finish(fdtsw)): + fdtsw = bytearray(self._fdt) return Fdt(fdtsw) def check_space(self, val): |