libfdt: Fix the Python pack() function
authorSimon Glass <sjg@chromium.org>
Fri, 6 Jul 2018 16:27:21 +0000 (10:27 -0600)
committerSimon Glass <sjg@chromium.org>
Mon, 9 Jul 2018 15:11:00 +0000 (09:11 -0600)
This currently fails to reduce the device-tree bytearray size. Fix this.

This stands in for a pending upstream change.

Signed-off-by: Simon Glass <sjg@chromium.org>
scripts/dtc/pylibfdt/libfdt.i_shipped

index 6774b93b2cb659432e8ea51456fae08fc1f5958f..5b38e63b267f1220379330897265eb4c68787e78 100644 (file)
@@ -442,7 +442,11 @@ class Fdt:
         Raises:
             FdtException if any error occurs
         """
-        return check_err(fdt_pack(self._fdt), quiet)
+        err = check_err(fdt_pack(self._fdt), quiet)
+        if err:
+            return err
+        del self._fdt[self.totalsize():]
+        return err
 
     def getprop(self, nodeoffset, prop_name, quiet=()):
         """Get a property from a node