binman: Call ProcessUpdateContents() consistently

SetContents() should only be called to set the contents of an entry from
within the ObtainContents() call, since it has no guard against increasing
the size of the contents, thus triggering incorrect operation.

Change all such calls to use ProcessUpdateContents() instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2019-07-08 14:25:34 -06:00
parent 5b463fc26e
commit 7f9e00a2a6
4 changed files with 4 additions and 4 deletions

View File

@@ -30,4 +30,4 @@ class Entry_blob_dtb(Entry_blob):
def ProcessContents(self): def ProcessContents(self):
"""Re-read the DTB contents so that we get any calculated properties""" """Re-read the DTB contents so that we get any calculated properties"""
_, data = state.GetFdtContents(self._filename) _, data = state.GetFdtContents(self._filename)
self.SetContents(data) self.ProcessContentsUpdate(data)

View File

@@ -106,4 +106,4 @@ class Entry_fdtmap(Entry):
This is necessary since new data may have been written back to it during This is necessary since new data may have been written back to it during
processing, e.g. the image-pos properties. processing, e.g. the image-pos properties.
""" """
self.SetContents(self._GetFdtmap()) self.ProcessContentsUpdate(self._GetFdtmap())

View File

@@ -62,4 +62,4 @@ class Entry_fmap(Entry):
return True return True
def ProcessContents(self): def ProcessContents(self):
self.SetContents(self._GetFmap()) self.ProcessContentsUpdate(self._GetFmap())

View File

@@ -73,4 +73,4 @@ class Entry_image_header(Entry):
This is necessary since image_pos is not available when ObtainContents() This is necessary since image_pos is not available when ObtainContents()
is called, since by then the entries have not been packed in the image. is called, since by then the entries have not been packed in the image.
""" """
self.SetContents(self._GetHeader()) self.ProcessContentsUpdate(self._GetHeader())