aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pylibfdt/libfdt.i9
-rw-r--r--tests/pylibfdt_tests.py1
2 files changed, 9 insertions, 1 deletions
diff --git a/pylibfdt/libfdt.i b/pylibfdt/libfdt.i
index adb4ee8..c0a2191 100644
--- a/pylibfdt/libfdt.i
+++ b/pylibfdt/libfdt.i
@@ -474,10 +474,17 @@ class Fdt:
Args:
quiet: Errors to ignore (empty to raise on all errors)
+ Returns:
+ Error code, or 0 if OK
+
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
diff --git a/tests/pylibfdt_tests.py b/tests/pylibfdt_tests.py
index 0467375..c9653a5 100644
--- a/tests/pylibfdt_tests.py
+++ b/tests/pylibfdt_tests.py
@@ -308,6 +308,7 @@ class PyLibfdtTests(unittest.TestCase):
self.assertEquals(orig_size, self.fdt.totalsize())
self.assertEquals(self.fdt.pack(), 0)
self.assertTrue(self.fdt.totalsize() < orig_size)
+ self.assertEquals(self.fdt.totalsize(), len(self.fdt.as_bytearray()))
def testBadPropertyOffset(self):
"""Test that bad property offsets are detected"""